Datomic v1.0.6202 выдает NoSuchMethodError в datomic.api/create-database для хранилища :dev (io.netty.channel.SingleThreadEventLoop)

Попытка создать базу данных в локальном транзакторе Datomic :dev (v1.0.6202) выдает NoSuchMethodError, но работает БД в памяти:

(d/create-database "datomic:mem://localhost:4334/test")
=> true
(d/connect "datomic:mem://localhost:4334/test")
=> #object[datomic.peer.LocalConnection 0x3a5266c4 "datomic.peer.LocalConnection@3a5266c4"]

Теперь давайте попробуем с локальным транзактором :dev под управлением Java 1.8:

(d/connect "datomic:dev://localhost:4334/blog")
=> Execution error at datomic.peer/get-connection$fn (peer.clj:661).
Could not find blog in catalog

;; Let's try to create it:
(d/create-database "datomic:dev://localhost:4334/blog")
Execution error (NoSuchMethodError) at io.netty.channel.SingleThreadEventLoop/<init> (SingleThreadEventLoop.java:65).
'void io.netty.util.concurrent.SingleThreadEventExecutor.<init>(io.netty.util.concurrent.EventExecutorGroup, java.util.concurrent.Executor, boolean, java.util.Queue, io.netty.util.concurrent.RejectedExecutionHandler)'

Сначала я предположил, что это связано с моим недавним вопросом о транзакторе Datomic, требующем Java 1.8 или более ранней версии (версия 15 не работает молча), но эта ошибка возникает для всех JDK, которые я пробовал.

Я использую Clojure 1.10.1 и Datomic v1.0.6202 для транзакций и зависимостей в своем приложении.


person Petrus Theron    schedule 06.11.2020    source источник


Ответы (1)


Похоже на конфликт Netty от aleph или manifold. Я понизил версию Алефа, и проблема была решена.

Я бы хотел, чтобы был лучший способ отладки этих типов конфликтов.

person Petrus Theron    schedule 06.11.2020