Orient DB 3.0.18: сжатие с именем snappy отсутствует - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь открыть базу данных с использованием Orient DB 3.0.18, созданной с использованием Orient DB v2.2.37, однако выводится сообщение об ошибке «Сжатие с именем snappy» отсутствует. Как зарегистрировать мгновенное сжатие в Orient V3? Я попробовал org.xerial.snappy в maven POM, но без радости. Заранее спасибо.

2019-04-22 21:44:20 t.c.s.a.d.Services [DEBUG] error:stop:com.orientechnologies.orient.core.exception.OSecurityException: Compression with name 'snappy' is absent
com.orientechnologies.orient.core.exception.OSecurityException: Compression with name 'snappy' is absent
    at com.orientechnologies.orient.core.compression.OCompressionFactory.getCompression(OCompressionFactory.java:79)
    at com.orientechnologies.orient.core.storage.cluster.v0.OPaginatedClusterV0.init(OPaginatedClusterV0.java:1547)
    at com.orientechnologies.orient.core.storage.cluster.v0.OPaginatedClusterV0.configure(OPaginatedClusterV0.java:154)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.createClusterFromConfig(OAbstractPaginatedStorage.java:4804)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.openClusters(OAbstractPaginatedStorage.java:519)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.open(OAbstractPaginatedStorage.java:388)
    at com.orientechnologies.orient.core.db.OrientDBEmbedded.open(OrientDBEmbedded.java:281)
    at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.open(ODatabaseDocumentTx.java:903)
    at com.orientechnologies.orient.core.db.OPartitionedDatabasePool$DatabaseDocumentTxPooled.internalOpen(OPartitionedDatabasePool.java:440)
    at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.openDatabase(OPartitionedDatabasePool.java:303)
    at com.orientechnologies.orient.core.db.OPartitionedDatabasePool.acquire(OPartitionedDatabasePool.java:261)
    at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.<init>(OrientBaseGraph.java:172)
    at com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:78)
    at com.tinkerpop.blueprints.impls.orient.OrientGraph.<init>(OrientGraph.java:137)
    at com.tinkerpop.blueprints.impls.orient.OrientGraphFactory$1.getGraph(OrientGraphFactory.java:87)
    at com.tinkerpop.blueprints.impls.orient.OrientGraphFactory.getTx(OrientGraphFactory.java:224)

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Разрешение для тех, кто использует Orient DB во встроенном режиме, выглядит следующим образом:

1) загрузите OSnappyCompression.java из репозитория Orient DB Github и включите в свой проект

2) добавьте следующую библиотекув свой Maven pom.xml

 <dependency>
     <groupId>org.xerial.snappy</groupId>
     <artifactId>snappy-java</artifactId>
     <version>1.1.7.3</version>
 </dependency>

3) зарегистрируйте метод сжатия Snappy следующим образом до запуска Orient DB

 OCompressionFactory.INSTANCE.register(new OSnappyCompression());
0 голосов
/ 23 апреля 2019

К сожалению, это сжатие было удалено.Вы должны конвертировать базу данных в несжатую версию.

...