Fork me on GitHub

Hello hello! I have a call to (datomic.ion.cast/initialize-redirect :stdout) in a code base I'm working on but I see no log output from calls to cast/dev. It looks like someone has already asked the question over on Has anyone else encountered this issue? Is anyone seeing log output from calls to cast/* ?


I need to take the dog for a walk. Be back in an hour or so. 🚶


Hi, may someone can help me? I've try to deploy datomic to aws ec2 and when I've starting the transactor i've got this error:

Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain: [EnvironmentVariableCredentialsProvid
and i've configure aws cli on ec2 and export AWS_ACCESS_KEY_ID and AWS_SECRET. someone have any idea what could be?


The env vars should be AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY if I remember correctly.


That said, you'll likely be told you shouldn't use env vars for authenticating EC2 instances. AWS handles that for you via IAM roles etc.


Oh, thank I'll try configure IAM roles


The environment variables should work mind. Could be good enough to get things going depending on what it is you’re building. Good luck, @UL618PRQ9!

👍 3

something weird in datomic cloud vs dev-local string length limits (both are purportedly 4k chars), but we have over 4k in some environments and ran into problem when importing it to dev-local


Regardless of the “real” limit, operationally I suggest never, ever installing a string-typed attribute on any datomic (onprem, cloud, local) without an attribute predicate that limits its length to at least 4k but probably shorter. (same with other values which contain strings, like tuples, symbols, keywords.) Datomic’s dirnode/segment storage structure doesn’t work well with single large values because all values are completely inlined. Large segments can’t be cached by memcached (> 1MB), you may even hit size limits of the underlying storage, essentially breaking your database. IO cost is harder to predict, and your object cache becomes bloated with “nearby” large values that you may not be using.


Put large values into something else and store a reference in datomic


it worries me that this is left to the application developer, I would expect the database tx would throw exception if I try to put in db breaking things in it


and that this isn’t documented with suitably scary disclaimers “you need to check this length yourself, or your database might break”


I agree. I’m in the midst of a painful project to backfill this into a large database