<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Datomic Knowledgebase - Recent questions tagged peer</title>
<link>https://ask.datomic.com/index.php/tag/peer</link>
<description>Powered by Question2Answer</description>
<item>
<title>Updates to Artemis dependency in Datomic Peer</title>
<link>https://ask.datomic.com/index.php/1891/updates-to-artemis-dependency-in-datomic-peer</link>
<description>&lt;p&gt;Hi! Thanks for maintaining Datomic for the community! &lt;/p&gt;
&lt;p&gt;I'd like to ask if the Artemis dependency can be updated in Datomic Peer. Currently version &lt;code&gt;org.apache.activemq/artemis-core-client 2.31.2&lt;/code&gt; is used. In the meantime multiple CVEs have been reported and fixed in Artemis. Also, the artefact was relocated from &lt;code&gt;org.apache.activemq » artemis-core-client&lt;/code&gt; to &lt;code&gt;org.apache.artemis » artemis-core-client&lt;/code&gt; according to MVN (&lt;a rel=&quot;nofollow&quot; href=&quot;https://mvnrepository.com/artifact/org.apache.activemq/artemis-core-client/2.54.0&quot;&gt;https://mvnrepository.com/artifact/org.apache.activemq/artemis-core-client/2.54.0&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Of course I can do this in &lt;code&gt;deps.edn&lt;/code&gt;, but I don't know if that's safe and rather have it changed in Datomic for everybody's benefit:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;:deps 
{com.datomic/peer
 {:mvn/version &quot;1.0.7622&quot;
  :exclusions  [org.apache.activemq/artemis-core-client]}
 org.apache.artemis/artemis-core-client {:mvn/version &quot;2.54.0&quot;}}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your consideration!&lt;/p&gt;
</description>
<category>Peer API</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/1891/updates-to-artemis-dependency-in-datomic-peer</guid>
<pubDate>Tue, 16 Jun 2026 09:36:10 +0000</pubDate>
</item>
<item>
<title>Datomic peer - Support SSO</title>
<link>https://ask.datomic.com/index.php/1885/datomic-peer-support-sso</link>
<description>&lt;p&gt;Datomic currently does not support AWS SSO out-of-the-box&lt;/p&gt;
&lt;p&gt;This issue is probably because it uses an old version of &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.datomic.com/operation/storage.html#dynamodb-aws-peer-dependency&quot;&gt;dynamodb SDK&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I believe that this issue can be fixed by upgrading the AWS SDK to &lt;a rel=&quot;nofollow&quot; href=&quot;https://mvnrepository.com/artifact/software.amazon.awssdk/dynamodb/2.41.27&quot;&gt;v2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here a workaround:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://gist.github.com/souenzzo/42060567479ab2dd916769f1d73042fa&quot;&gt;https://gist.github.com/souenzzo/42060567479ab2dd916769f1d73042fa&lt;/a&gt;&lt;/p&gt;
</description>
<category>Peer API</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/1885/datomic-peer-support-sso</guid>
<pubDate>Fri, 13 Feb 2026 17:36:46 +0000</pubDate>
</item>
<item>
<title>Datomic peer on dynamodb - misleading error message</title>
<link>https://ask.datomic.com/index.php/1884/datomic-peer-on-dynamodb-misleading-error-message</link>
<description>&lt;p&gt;Starting from a simple setup:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{:deps {com.datomic/peer       {:mvn/version &quot;1.0.7491&quot;}
        org.slf4j/slf4j-simple {:mvn/version &quot;2.0.17&quot;}}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And trying to connect into a dynamodb connection, it fails with a &quot;s3&quot; error: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;user=&amp;gt; (require '[datomic.api :as d])
nil
user=&amp;gt; (d/connect &quot;datomic:ddb://us-east-1/prd/db&quot;)
[main] INFO datomic.process-monitor - {:event :metrics/initializing, :metricsCallback clojure.core/identity, :phase :begin, :pid 311, :tid 3}
[main] INFO datomic.process-monitor - {:event :metrics/initializing, :metricsCallback clojure.core/identity, :msec 0.696, :phase :end, :pid 311, :tid 3}
[main] INFO datomic.process-monitor - {:metrics/started clojure.core/identity, :pid 311, :tid 3}
[clojure-agent-send-off-pool-0] INFO datomic.domain - {:event :cache/create, :cache-bytes 502267904, :pid 311, :tid 25}
[clojure-agent-send-off-pool-0] INFO datomic.process-monitor - {:AvailableMB 895.0, :ObjectCacheCount 0, :event :metrics, :pid 311, :tid 25}
Execution error (ClassNotFoundException) at jdk.internal.loader.BuiltinClassLoader/loadClass (BuiltinClassLoader.java:580).
com.amazonaws.services.s3.model.MultiObjectDeleteException
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;From this error message, it is pretty hard to find that datomic actually requires an extra dynamodb dependency to work.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.datomic.com/operation/storage.html#dynamodb-aws-peer-dependency&quot;&gt;https://docs.datomic.com/operation/storage.html#dynamodb-aws-peer-dependency&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Possible fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A better error message&lt;/li&gt;
&lt;li&gt;Adding this error message to datomic docs, as a &quot;common errors&quot; - do google will be able to find. &lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Peer API</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/1884/datomic-peer-on-dynamodb-misleading-error-message</guid>
<pubDate>Fri, 13 Feb 2026 16:19:56 +0000</pubDate>
</item>
<item>
<title>&quot;No suitable driver&quot; when starting peer</title>
<link>https://ask.datomic.com/index.php/1068/no-suitable-driver-when-starting-peer</link>
<description>&lt;p&gt;In the peer container:&lt;/p&gt;
&lt;p&gt;root@3249b8857f6f:/opt/datomic# bin/repl&lt;br&gt;
Clojure 1.11.4&lt;br&gt;
user=&amp;gt; (Class/forName &quot;org.postgresql.Driver&quot;)&lt;br&gt;
org.postgresql.Driver&lt;br&gt;
user=&amp;gt; (require 'datomic.peer-server)&lt;br&gt;
nil&lt;br&gt;
user=&amp;gt; (datomic.peer-server/-main&lt;br&gt;
  &quot;-h&quot; &quot;0.0.0.0&quot;&lt;br&gt;
  &quot;-p&quot; &quot;8998&quot;&lt;br&gt;
  &quot;-a&quot; &quot;none,none&quot;&lt;br&gt;
  &quot;-d&quot; &quot;datomic,datomic:sql://mydb?jdbc=postgresql://catalyst-postgres-1:5432/datomic?user=datomic&amp;amp;password=datomic&amp;amp;jdbc-class=org.postgresql.Driver&quot;)&lt;br&gt;
Execution error (SQLException) at java.sql.DriverManager/getDriver (DriverManager.java:299).&lt;br&gt;
No suitable driver&lt;br&gt;
user=&amp;gt; &lt;/p&gt;
</description>
<category>On-Prem</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/1068/no-suitable-driver-when-starting-peer</guid>
<pubDate>Fri, 24 Jan 2025 01:10:09 +0000</pubDate>
</item>
<item>
<title>Long blocking on event `:kv-cluster/get-val` without timeout/retry/failover semantics?</title>
<link>https://ask.datomic.com/index.php/631/blocking-event-cluster-without-timeout-failover-semantics</link>
<description>&lt;p&gt;On a test environment, we're seeing this kind of log from the Datomic Peer:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;;; ~5 hours CI inactive (if this is relevant)

DEBUG 2021-06-18T13:32:37.702 [clojure-agent-send-off-pool-23]: {:event :kv-cluster/get-val, :val-key &quot;60a4cc9e-ac11-40fe-9bd0-582f8209a403&quot;, :phase :begin, :pid 7, :tid 225}

;; 15 minutes pass....

DEBUG 2021-06-18T13:48:25.091 [clojure-agent-send-off-pool-23]: {:event :kv-cluster/get-val, :val-key &quot;60a4cc9e-ac11-40fe-9bd0-582f8209a403&quot;, :msec 947000.0, :phase :end, :pid 7, :tid 225}

;; This next one finishes in 21ms:

DEBUG 2021-06-18T13:48:25.094 [clojure-agent-send-off-pool-23]: {:event :kv-cluster/get-val, :val-key &quot;60128f6d-25fb-41f0-a6c2-9c5e73267da7&quot;, :phase :begin, :pid 7, :tid 225}
DEBUG 2021-06-18T13:48:25.115 [clojure-agent-send-off-pool-23]: {:event :kv-cluster/get-val, :val-key &quot;60128f6d-25fb-41f0-a6c2-9c5e73267da7&quot;, :msec 21.0, :phase :end, :pid 7, :tid 225}

;; and now we start processing the transacts that queued up when the tests started...

INFO  2021-06-18T13:48:25.117 [manifold-execute-43]: {:event :peer/transact, :uuid #uuid &quot;60cca429-7908-49b1-82c8-56b50effb4ce&quot;, :phase :start, :pid 7, :tid 282}
DEBUG 2021-06-18T13:48:25.234 [clojure-agent-send-off-pool-24]: {:event :peer/accept-new, :id #uuid &quot;60cca429-7908-49b1-82c8-56b50effb4ce&quot;, :phase :begin, :pid 7, :tid 226}
DEBUG 2021-06-18T13:48:25.234 [clojure-agent-send-off-pool-24]: {:event :peer/accept-new, :id #uuid &quot;60cca429-7908-49b1-82c8-56b50effb4ce&quot;, :msec 0.462, :phase :end, :pid 7, :tid 226}
INFO  2021-06-18T13:48:25.235 [clojure-agent-send-off-pool-24]: {:event :peer/transact, :uuid #uuid &quot;60cca429-7908-49b1-82c8-56b50effb4ce&quot;, :phase :end, :pid 7, :tid 226}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After those 15 minutes of waiting, the peer moved on and transacted all the transactions that happened to queue in the meantime, as if nothing happened. There do not seem to be any interesting or anomalous logs in the Transactor for this time period.&lt;/p&gt;
&lt;p&gt;Datomic Peer (1.0.6269) with PostgreSQL storage. The peer and transactor are both running on Kubernetes, but Postgres is hosted outside of the k8s cluster.&lt;/p&gt;
&lt;p&gt;I think my followup questions are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Any idea what could be going on with the &lt;code&gt;:kv-cluster/get-val&lt;/code&gt; and how to go about debugging this further?&lt;/li&gt;
&lt;li&gt;Is there some timeout we can configure to avoid this kind of situation in a production environment?&lt;/li&gt;
&lt;li&gt;Is the probable culprit Kubernetes? If so, has someone seen or fixed similar behavior before?&lt;/li&gt;
&lt;li&gt;These logs are happening at the DEBUG level, otherwise we would not even know that the Peer was blocking/hanging/waiting. Are there other metrics or logs we should be monitoring to identify this kind of problem?&lt;/li&gt;
&lt;/ol&gt;
</description>
<category>On-Prem</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/631/blocking-event-cluster-without-timeout-failover-semantics</guid>
<pubDate>Wed, 23 Jun 2021 09:19:28 +0000</pubDate>
</item>
<item>
<title>What does the memcached/item-too-large log warning mean?</title>
<link>https://ask.datomic.com/index.php/484/what-does-the-memcached-item-too-large-log-warning-mean</link>
<description>&lt;p&gt;I'm seeing a fair frequency of  &lt;code&gt;:memcached/item-too-large&lt;/code&gt; statements in my Datomic logs. &lt;/p&gt;
&lt;p&gt;Is this a size limitation internal to Datomic? If so, could it mean our system is missing out on some cached segments? &lt;/p&gt;
&lt;p&gt;A recent &lt;code&gt;datomic.process-monitor&lt;/code&gt; log statement is showing:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{:tid 23,
 :CacheRepair {:lo 1, :count 637, :sum 637, :hi 1},
 :ObjectCacheCount 16634,
 :PeerAcceptNewMsec {:lo 0, :count 348, :sum 1, :hi 1},
 :MemcachedPutSucceededMsec {:lo 0, :count 602, :sum 1276, :hi 177},
 :AvailableMB 5550.0,
 :Memcache {:lo 0, :count 12175, :sum 11537, :hi 1},
 :StorageGetMsec {:lo 2, :count 637, :sum 10089, :hi 831},
 :MemcacheItemTooLarge {:lo 1, :count 4, :sum 4, :hi 1},
 :pid 18,
 :event :metrics,
 :ObjectCache {:lo 0, :count 702668, :sum 690336, :hi 1},
 :MetricsReport {:lo 1, :count 1, :sum 1, :hi 1},
 :PeerFulltextBatch {:lo 1, :count 332, :sum 348, :hi 6},
 :DbAddFulltextMsec {:lo 0, :count 21, :sum 30, :hi 12},
 :MemcachedPutFailedMsec {:lo 0, :count 31, :sum 541, :hi 52},
 :StorageGetBytes {:lo 122, :count 637, :sum 92206399, :hi 31294091}}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Which would seem to suggest a high hit rate judging from the &lt;code&gt;:Memcache&lt;/code&gt; &lt;code&gt;:sum / :count&lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Is this something I can fix or would cause issues? &lt;/p&gt;
&lt;p&gt;Thanks!!&lt;/p&gt;
</description>
<category>On-Prem</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/484/what-does-the-memcached-item-too-large-log-warning-mean</guid>
<pubDate>Tue, 27 Oct 2020 17:54:45 +0000</pubDate>
</item>
<item>
<title>Add Cassandra Cluster callback to the Peer</title>
<link>https://ask.datomic.com/index.php/436/add-cassandra-cluster-callback-to-the-peer</link>
<description>&lt;p&gt;The transactor provides a configurable cassandra cluster callback, but the peers do not. The Cassandra driver depends on old versions of metrics libraries that are incompatible with newer versions used in (for example) clojure metrics. Datastax solution for this requires use of the cluster callback &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.datastax.com/en/developer/java-driver/3.5/manual/metrics/#metrics-4-compatibility&quot;&gt;https://docs.datastax.com/en/developer/java-driver/3.5/manual/metrics/#metrics-4-compatibility&lt;/a&gt;, but that isn't available in Peers.&lt;/p&gt;
</description>
<category>On-Prem</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/436/add-cassandra-cluster-callback-to-the-peer</guid>
<pubDate>Thu, 22 Oct 2020 17:52:42 +0000</pubDate>
</item>
<item>
<title>Readonly peer access</title>
<link>https://ask.datomic.com/index.php/438/readonly-peer-access</link>
<description>&lt;p&gt;A peer that can read from the backing store, but not transact&lt;/p&gt;
</description>
<category>On-Prem</category>
<guid isPermaLink="true">https://ask.datomic.com/index.php/438/readonly-peer-access</guid>
<pubDate>Thu, 22 Oct 2020 15:30:43 +0000</pubDate>
</item>
</channel>
</rss>