This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-30
Channels
- # announcements (14)
- # aws (2)
- # beginners (167)
- # calva (25)
- # cider (124)
- # cljs-dev (2)
- # cljsrn (7)
- # clojars (2)
- # clojure (113)
- # clojure-europe (2)
- # clojure-italy (6)
- # clojure-spec (30)
- # clojure-uk (90)
- # clojurescript (20)
- # code-reviews (16)
- # cursive (28)
- # data-science (2)
- # datomic (89)
- # duct (97)
- # emacs (4)
- # figwheel-main (12)
- # fulcro (37)
- # graphql (3)
- # java (3)
- # jobs (2)
- # juxt (3)
- # kaocha (37)
- # leiningen (2)
- # luminus (2)
- # off-topic (30)
- # onyx (2)
- # pathom (3)
- # qlkit (1)
- # re-frame (7)
- # reagent (2)
- # reitit (62)
- # remote-jobs (9)
- # shadow-cljs (26)
- # tools-deps (19)
- # vim (1)
- # yada (8)
jfyi, the link to SQUUID
in https://docs.datomic.com/on-prem/best-practices.html#unique-ids-for-external-keys is a 404
I'm trying to develop via datomic-socks-proxy, but I cannot receive the most part of queries because of request timeout. I have a satellite internet and a big ping. How can I fix it?
if you use the 1-arg form of d/q, you should be able to set a timeout that suits your needs:
(d/q
{:query '[:find ...] :args [db ...]
:timeout 60000}) ; or whatever you need
Thanks, I just thought that if there is no timeout than it is maximized and therefore the problem is not in queries
I've checked, this timeout has nothing to do with my error
{:status -1, :status-text "Request timed out.", :failure :timeout}
I'm sorry, the reason really was in my queries (I'm migrating from on-prem to the cloud), thanks for your time
Hi. Running into an issue where cloud deployments are timing out that seems to be related to the number of lambda ions (~30). Temporarily Pulling some of them out of the config makes the problem go away. Is there any way to override the timeout?
i'm curious about recursive pull syntax. in the doc's example, we grab names of friends:
[:person/firstName :person/lastName {:person/friends ...}]
where by the ...
refers back to the attributes in the parent data structure (i think?)
in my case my root entity has a relationship to a node, and that node has a relationship to another node, and then a third node which is where i want to recur. i guess it would be like (:person/diary)->(:diary/contacts)->(person) instead of (:person/friends)->(:person/friends). is this possible?
Hi there, I've got a datomic cloud instance running and I'm trying to connect to it from a client application running (on EB Tomcat) within the datomic VPC subnets. But when trying to connect I get the following exception:
Unable to connect to localhost:8182 {:cognitect.anomalies/category :cognitect.anomalies/unavailable, :cognitect.anomalies/message "Connection refused", :config {:server-type :cloud, :region "eu-west-1", :system "recipes-dev", :proxy-port 8182, :endpoint " ", :endpoint-map {:headers {"host" ""}, :scheme "http", :server-name "", :server-port 8182}}}
Is it me or does it think it's running in ions and is trying to connect to localhost?ah thanks, that would make sense since it's not using the socks proxy! I couldn't find anything about it in the docs though. Does the endpoint url stay the same?
hi, does anyone have an example of including the datomic-pro peer library in deps.edn format (including the repository and login information for http://my.datomic.com) ?
https://my.datomic.com/account only includes it for maven and leiningen
i suppose it would be the "Maven authenticated repos" section on the following page: https://clojure.org/reference/deps_and_cli giving that a try
hmm, getting 401 unauthorized even though i put my username and password in ~/.m2/settings.xml
as directed
i tried both my-datomic-com
and
for server-id
(matching in both server.xml and deps.edn)
do you have any AWS env vars set?
if not, try setting any valid AWS creds
this is my actual invocation:
13:40 $ AWS_ACCESS_KEY_ID=`aws configure get personal.aws_access_key_id` AWS_SECRET_KEY=`aws configure get personal.aws_secret_access_key` clj -m core
ultimately here you’re trying to access a jar in an S3 bucket, and the deps resolver needs to access the bucket, which requires checking the bucket location (region), which is subject to IAM, and this is something I’ve seen be problematic before
what do you have for your datomic repo in deps.edn?
this is interesting:
✘-1 ~/Documents/SourceCode/option-scanner/options-datomic [master|●1✚ 2]
13:59 $ aws s3 cp deps.edn
upload failed: ./deps.edn to An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
no, I don’t think that’s it
what do you have the AWS keys set for?
what you should have is a ~/.m2/settings.xml that looks like:
i am now just using the "default" aws credentials profile as specifed in ~/.aws/credentials
here's my settings.xml:
<servers>
<server>
<id>my.datomic.com</id>
<username>redacted</username>
<password>redacted</password>
</server>
</servers>
yes, good
and deps.edn should look like:
{:mvn/repos
{"" {:url ""}}
:deps
{com.datomic/datomic-pro {:mvn/version "0.9.5786"}}}
and you should need no AWS settings
here's the full deps.edn:
{:paths ["src" "resources"]
:extra-paths ["resources"]
:deps
{clj-time {:mvn/version "0.15.0"}
com.rpl/specter {:mvn/version "1.1.2"}
aleph {:mvn/version "0.4.6"}
org.clojure/clojure {:mvn/version "1.9.0"}
com.datomic/datomic-pro {:mvn/version "0.9.5786"}
org.clojure/data.json {:mvn/version "0.2.6"}
com.cognitect/transit-java #:mvn{:version "0.8.311"}
org.msgpack/msgpack #:mvn{:version "0.6.10"},
com.cognitect/transit-clj #:mvn{:version "0.8.285"}
com.cognitect/s3-creds #:mvn{:version "0.1.22"}
com.amazonaws/aws-java-sdk-kms #:mvn{:version "1.11.349"}
com.amazonaws/aws-java-sdk-s3 #:mvn{:version "1.11.349"}}
:mvn/repos
{"" {:url ""}}
;:aliases
;{:dev {:extra-deps {com.datomic/ion-dev {:mvn/version "0.9.186"}}}}
}
Could not transfer artifact com.datomic:datomic-pro:pom:0.9.5786 from/to http://my.datomic.com (https://my.datomic.com/repo): Unauthorized (401)
the creds you put in your m2 settings are the ones from your http://my.datomic.com account dashboard?
could it be a problem with those creds somehow on the server side? i generated them about 4 weeks ago and haven't tried them until today
you can test directly in the browser
go to https://my.datomic.com/repo/com/datomic-pro/0.9.5786/datomic-pro-0.9.5786.jar and enter those in the basic auth user/password dialog
what version of clj are you using?
clj -Sverbose
latest is 1.10.0.411
14:11 $ clj -Sverbose
version = 1.10.0.411
install_dir = /usr/local/Cellar/clojure/1.10.0.411
config_dir = /Users/jonathan/.clojure
config_paths = /usr/local/Cellar/clojure/1.10.0.411/deps.edn /Users/jonathan/.clojure/deps.edn deps.edn
cache_dir = /Users/jonathan/.clojure/.cpcache
cp_file = /Users/jonathan/.clojure/.cpcache/4079603067.cp
Clojure 1.10.0
for grins, I wouldn’t mind seeing you run that without the AWS creds
also curious if that was your full settings.xml or just a snippet. full should have some stuff around what you posted
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns=""
xmlns:xsi=""
ssi:schemaLocation="">
<servers>
<server>
<id>my.datomic.com</id>
<username>redacted</username>
<password>redacted</password>
</server>
</servers>
</settings>
This was the problem. The missing outer <settings> which isn't mentioned on: https://clojure.org/reference/deps_and_cli I was creating this file from scratch as it didn't yet exist on my system.
btw, your deps.edn worked for me and downloaded everything
so I’m going to suspect settings.xml for now
at work, we're considering testing out Datomic On-Prem on our AWS stack. are there any recommendations on what storage service (rds, ddb, etc.) to use? Also, we currently are not allowed to use CloudFormation in our accounts; are there any resources on how to setup a transactor and peers outside of using CF?
asking the dumb question - do you have a good reason to avoid Datomic Cloud?
the datomic team could probably answer better but generally I think we would nudge you towards ddb over the others
Juxt has some terraform recipes: https://github.com/juxt/pack-datomic
Fair warning; running on-prem is moderately operationally complex. If none of the cloud restrictions are deal-breakers, I’d think you’ll probably have a better time with it esp. for experimenting.
@alexmiller I would love to use Datomic Cloud, but I have a feeling that it will be politically as well as operationally complex
our AWS account is not wholly owned by my team; we share one account for each environment (dev/qa/prod/etc.) with the entire organization 🙃
That’s not necessarily an obstacle, might be worth considering as cloud is really the better choice technically and operationally between these options
I'm going to try and approach it on both fronts. I want to also explore the on-prem deploy in case I can't make headway with the cloud version
like I said, even use CF is not allowed for us atm 😕 the entire datomic cloud infra setup needs to be vetted by the team that handles the AWS accounts, services and architecture to see if it will behave well and should be allowed
This was the problem. The missing outer <settings> which isn't mentioned on: https://clojure.org/reference/deps_and_cli I was creating this file from scratch as it didn't yet exist on my system.
@alexmiller @marshall thx for the help!