This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-10-02
Channels
- # aleph (3)
- # announcements (2)
- # babashka (4)
- # beginners (74)
- # calva (21)
- # clj-kondo (30)
- # cljs-dev (7)
- # cljsrn (42)
- # clojure (121)
- # clojure-dev (13)
- # clojure-europe (23)
- # clojure-losangeles (2)
- # clojure-nl (2)
- # clojure-norway (7)
- # clojure-spec (140)
- # clojure-uk (58)
- # clojuredesign-podcast (9)
- # clojurescript (49)
- # clojutre (2)
- # cursive (32)
- # datascript (2)
- # datomic (59)
- # duct (7)
- # figwheel-main (6)
- # fulcro (18)
- # graphql (5)
- # jackdaw (1)
- # joker (6)
- # juxt (7)
- # leiningen (9)
- # off-topic (1)
- # pedestal (14)
- # quil (2)
- # re-frame (3)
- # reitit (8)
- # shadow-cljs (78)
- # sql (8)
- # timbre (3)
- # vim (69)
is there any way to permanently delete stuff in cloud? other than deleting whole db and recreating it without the offending datoms… if this has been discussed, I’d appreciate pointers to relevant discussion, thanks.
The feature you're looking for is called "excision" in on-prem: https://docs.datomic.com/on-prem/excision.html. No idea what the story is for Cloud though.
thinking that what kind of process is excision in on-prem, is it a internal rewrite of the database?
as :db/txInstant can be set (but must be increasing) I think it would be possible to copy a database to a new one while excising some entities… perhaps not feasible for huge databases
Currently not possible in cloud AFAIK. Our solution is to store only a unique id for each user entity in datomic (you can add other non personally identifiable information as well) and store the other userdata in dynamodb under that key.
that’s our current approach just having a uuid in datomic for a user and storing the actual data elsewhere
an approach I've heard about (but not used) is "crypto shredding" - encrypt the data in the immutable DB, and keep the key in a mutable DB. Delete the key when GDPR request rolls in. (I AM NOT A LAWYER 😉 )
I'm looking to retract all changes done in a transaction - how would I go about finding the changes in that transaction without doing a full table scan?
perhaps an obvious question (haven’t worked with reserved instances before), but is there anything special I’d need to do to use reserved instances for Datomic Cloud CF templates?
It’s pretty straightforward. My numbers show $1/day is an upper bound for Solo, at least in us-east. You can do significantly better with reserved instance pricing.
about double if you want to use the new analytics gateway function… a non-nano jumps the price up.
Hi dumb question: I am trying to upgrade my Datomic Cloud compute stack to 512-8806. I have RTFM. It is not working. Any one have issues, or can help me?
@hadilsabbagh18 The latest release is a storage & compute upgrade
Yes. It was updated today. The error I'm getting with the conpute upgrade is:
AMI ami-05c81c69e00244cc9 is invalid: The image id '[ami-05c81c69e00244cc9]' does not exist (Service: AmazonAutoScaling; Status Code: 400; Error Code: ValidationError; Request ID: 6a302920-e531-11e9-9e8a-693b91fa55e0)
@hadilsabbagh18 what region?
it appears that AWS Marketplace didn’t create that AMI for that region correctly. I will report as an issue to them immediately. Sorry for the inconvenience - I’ll follow up when I hear back from them
@curtosis there should be nothing special - credits for reservations you’ve made should be automatically applied to instance hours you consume
me too. Not sure if you can share your findings here. thank you.
Docs can provide a simple working example as https://github.com/Datomic/ion-starter ?
@souenzzo https://docs.datomic.com/cloud/releases.html#current fixed the link in the release table
I haven't heard back from the marketplace team. You should be able to rollback to the prior version compute template
Trying out the new analytics support. It works great! Should I blame metabase for this strange formatting of the cardinality many attribute ":asset-model/curated-content"?
Yes, metabase has some heuristics to prettify names, based on a list of english words and their relative frequencies. You can turn it off in the settings somewhere, I've often seen it create weird results.
I'm getting this error when trying to count rows:
clojure.lang.ExceptionInfo: [?start ?e] not bound in expression clause: [(>= ?e ?start)] {:message "[?start ?e] not bound in expression clause: [(>= ?e ?start)]", :errorCode 65536, :errorName "GENERIC_INTERNAL_ERROR", :errorType "INTERNAL_ERROR", :failureInfo {:type "clojure.lang.ExceptionInfo", :message "[?start ?e] not bound in expression clause: [(>= ?e ?start)]", :suppressed [], :stack ["datomic.client.api.async$ares.invokeStatic(async.clj:58)" "datomic.client.api.async$ares.invoke(async.clj:54)" "datomic.client.api.sync$unchunk.invokeStatic(sync.clj:47)" "datomic.client.api.sync$unchunk.invoke(sync.clj:45)" "datomic.client.api.sync$eval11267$fn__11288.invoke(sync.clj:101)" "datomic.client.api.impl$fn__2619$G__2614__2626.invoke(impl.clj:33)" "datomic.client.api$q.invokeStatic(api.clj:351)" "datomic.client.api$q.invoke(api.clj:322)" "datomic.presto$split_count.invokeStatic(presto.clj:99)" "datomic.presto$split_count.invoke(presto.clj:86)" "datomic.presto$create_connector$reify$reify__2395.getRecordSet(presto.clj:247)" "io.prestosql.spi.connector.ConnectorRecordSetProvider.getRecordSet(ConnectorRecordSetProvider.java:27)" "io.prestosql.split.RecordPageSourceProvider.createPageSource(RecordPageSourceProvider.java:43)" "io.prestosql.split.PageSourceManager.createPageSource(PageSourceManager.java:56)" "io.prestosql.operator.TableScanOperator.getOutput(TableScanOperator.java:277)" "io.prestosql.operator.Driver.processInternal(Driver.java:379)" "io.prestosql.operator.Driver.lambda$processFor$8(Driver.java:283)" "io.prestosql.operator.Driver.tryWithLock(Driver.java:675)" "io.prestosql.operator.Driver.processFor(Driver.java:276)" "io.prestosql.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1075)" "io.prestosql.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)" "io.prestosql.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)" "io.prestosql.$gen.Presto_316____20191002_195730_1.run(Unknown Source)" "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)" "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)" "java.lang.Thread.run(Thread.java:748)"]}}
Query from the stack trace seems to be:
{:query "SELECT count(*) AS \"count\" FROM \"centriq\".\"asset_model\"", :params nil},
Metaschema is basic:
{:tables
{:user/id {}
:asset-model/id {}
:asset-tag/id {}
:property/id {}}}