Fork me on GitHub
#datomic
<
2020-01-10
>
marshall01:01:05

You need to set the endpoint address in your client config map to use the query group @m0smith

m0smith01:01:09

@marshall Thanks. I just tried it and no change. One frustrating thing is I cannot find where the Ion deployment is logged to see if I have other problems.

marshall01:01:40

Oh. Using ions?

marshall01:01:13

You need to deploy your ion to the query group instead of to the primary compute group

m0smith01:01:49

I did that and the CodeDeploy says it was successful. I can find no other evidence of the deployment though.

marshall01:01:12

How are you invoking the ion?

m0smith01:01:07

Via API Gateway through http-direct. Is it possible to access http-direct another way?

marshall01:01:48

And you configured the api gateway to trigger the query group ion?

m0smith01:01:50

We are pointing at the query group load balancer. Is there some other way to trigger it?

marshall01:01:02

No that is right

marshall01:01:26

Does the ion do a lot of writing?

m0smith01:01:31

We can see in the logs the API gateway is calling the expected query group load balancer

m0smith01:01:10

It can do a lot of writing but not usually. We also have some custom aggregator functions

marshall01:01:33

Writes are all forwarded to the primary compute group

marshall01:01:02

What makes you think the QG isnt doing work?

m0smith01:01:59

The dashboard for the QG shows no usage while the compute group dashboard shows all the query and transcts

marshall01:01:24

Your connection type is :ion in the client config map?

marshall01:01:13

Hm. Can you file a support ticket and we can look into it tomorrow

m0smith01:01:15

:server-type šŸš‰

m0smith01:01:29

sure, thanks

marshall01:01:38

It may help if we could get cloudwatch access, etc

m0smith01:01:07

Does the app-name need to match? We have different app-name set in the resource file

marshall01:01:19

Different than?

marshall01:01:59

The app name set on the query group when you launched it needs to match the one you use in the config when you push

m0smith01:01:07

The :app-name in the ion deployed to the compute group is different than the :app-name deployed to the QG

marshall01:01:02

As long as you did actually deploy to your qg

m0smith01:01:51

The ApplicationName in the Parameters to the QG is not specified. We should be using the SystemName in that case?

m0smith01:01:50

in CloudFormation

marshall01:01:07

The app name defaults to the stack name if you dont specify it

m0smith01:01:55

ok, I had that wrong

m0smith02:01:10

I will give it a try. I have to take off. I'll open a ticket if that doesn't help.

m0smith02:01:15

thanks again

tatut07:01:52

I have a chicken and egg style problem with datomic ion lambdas... I'm creating my environment s3 buckets with cloudformation before ions are deployed... I can't refer to the not-yet-existing ion lambdas in the bucket notification config.

tatut07:01:43

same goes with API gw permissions to call the ion lambdas... I wan't to create my infastructure before ci does the deployment

tatut07:01:42

I'm wondering if others have had similar issues and how to solve them

Jakub HolĆ½ (HolyJak)09:01:33

Not here but elsewhere we deployed a dummy service under the same name and later overwrote it with the actual application. Not sure whether a similar approach (a dummy lambda with the target name) could work...

Ivar Refsdal09:01:31

Hi. A question about backup. Currently we just backup the backing database using regular MySQL functions/scripts. Is that good enough, or could this lead to trouble in recovery in the event of a disaster? Thanks.

joshkh18:01:19

are ion deployment failures logged, and if so which CloudWatch log group can we inspect? i've checked in /aws/lambda/<stack-name>-CreateCodeDeployDeployment and ...EnsureCodeDeployApplication and don't see anything suspicious. CodeDeploy tells me which specific event failed, but i'm hoping for more details.

m0smith18:01:05

I look in the datomic-<stack-name> log group and filter for Ion

denik20:01:25

Made a natural language to datalog lib in CLJC. Experimental. Please read readme before commenting on why strings are a terrible idea for DB queries šŸ˜ ļøCurious to hear your thoughts and ideas! https://www.reddit.com/r/Clojure/comments/emwgry/nldl_natural_language_clojure_flavored_datalog/

hkjels08:01:27

Nifty! It makes perfect sense on mobile, such as your use-case

šŸ™ 4
Aleed22:01:34

Anyone have experience using Hodur for a datomic graphql API? from looking at project, I don't particularly like the way it abstracted out datomic's schema, but only examples I can find using lacinia and datomic also use Hodur

Aleed22:01:41

for context - i was able to get ions running already via http with pedestal-ions, following their pet service example project. but haven't been able to integrate Lacinia as simply, and hard to know what steps to follow without a bare bones example hence why i'm considering just using hodur, but wondering what experiences ppl have with it

shaun-mahood22:01:15

Are you looking for hodur-datomic experiences specifically when combined with graphql? I've never used it with graphql but have used it with datomic and have some opinions.

Aleed22:01:08

sure, what are they?

shaun-mahood22:01:53

ā€¢ I'm not a fan of the hodur types, I was constantly looking up what types translated to which Datomic valueTypes. ā€¢ It made it easier to get basic database schemas started, but felt a lot more constrained than it did without it. I think it would be hard to build something like https://github.s3.amazonaws.com/downloads/Datomic/codeq/codeq.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20200110%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20200110T222806Z&amp;X-Amz-Expires=300&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=d202d5b1eccf52fcf95b4da8d3c88d014445278d133a01ced5c684889d96db98 using it, as one example. ā€¢ Although I loved the graphing capabilities, I couldn't get things to work nicely when I started diverging from the kind of design that would be expected in a table based structure. I tried putting in interfaces and things but it became way more complicated than necessary fast. ā€¢ I had issues with the naming conventions and how it translated some names - s3 became s-3, and I had to test how the names I wanted translated and change my desired naming to use it ā€¢ It's great for enums and simple schemas, and I love the concept of it and how it works for some types of schemas and relations. ā€¢ I currently have about half my schema defined in hodur, and the other half with normal datomic syntax.

Aleed22:01:26

this is definitely helpful, thanks

steveb8n23:01:03

I built my own ā€œHodurā€ before it was released based on this blog post https://vvvvalvalval.github.io/posts/2018-07-23-datascript-as-a-lingua-franca-for-domain-modeling.html

steveb8n23:01:05

and generate Datomic schema in this shape because I find it more readable https://gist.github.com/stevebuik/17ed50824f1bb814fab9e556a37cf18a

steveb8n23:01:23

now 99% of my schema is generated

steveb8n23:01:37

and about 50% of my GQL schema as well

steveb8n23:01:52

I also generate clojure code using a pattern similar to this. https://github.com/stevebuik/clj-code-gen-hodur

steveb8n23:01:41

that generates 8k lines of code in my application now. this generation idea is really powerful. Iā€™m a big fan of it šŸ™‚

metal 20