Невозможно выполнить запрос с помощью Stargate после добавления пользовательского Cql3SolrSecondaryIndex

У меня Stargate 1.0.38 отлично работает на моем сервере DEV. Я могу использовать api stargate rest, чтобы получить auth_token и запустить вставку, выбрать запросы.

Вчера я создал индекс Cql3SolrSecondaryIndex для таблицы в моем Cassandra DSE 6.8. Затем я вижу ошибку в журнале звездных врат. После этого я сбросил этот индекс. Но даже после удаления индекса я все еще вижу ошибку в журнале звездных врат. Я также пытаюсь остановить / запустить звездные врата, но все равно вижу ту же ошибку.

      ERROR [MigrationStage:1] 2021-10-15 00:47:13,593 PullRequestScheduler.java:245 - Configuration exception merging remote schema
org.apache.cassandra.exceptions.ConfigurationException: Unable to find custom indexer class 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex'
        at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:493)
        at org.apache.cassandra.schema.IndexMetadata.getCustomIndexClass(IndexMetadata.java:190)
        at org.apache.cassandra.schema.IndexMetadata.validate(IndexMetadata.java:131)
        at org.apache.cassandra.schema.Indexes.lambda$validate$2(Indexes.java:168)
        at java.lang.Iterable.forEach(Iterable.java:75)
        at org.apache.cassandra.schema.Indexes.validate(Indexes.java:168)
        at org.apache.cassandra.schema.TableMetadata.validate(TableMetadata.java:512)
        at java.lang.Iterable.forEach(Iterable.java:75)
        at org.apache.cassandra.schema.KeyspaceMetadata.validate(KeyspaceMetadata.java:112)
        at org.apache.cassandra.schema.KeyspaceMetadata.<init>(KeyspaceMetadata.java:85)
        at org.apache.cassandra.schema.KeyspaceMetadata.create(KeyspaceMetadata.java:167)
        at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspace(SchemaKeyspace.java:1154)
        at org.apache.cassandra.schema.SchemaKeyspace.fetchKeyspaces(SchemaKeyspace.java:1769)
        at org.apache.cassandra.schema.SchemaManager.merge(SchemaManager.java:893)
        at org.apache.cassandra.schema.SchemaManager.mergeAndAnnounceVersion(SchemaManager.java:877)
        at org.apache.cassandra.schema.PullRequestScheduler.lambda$sendPullRequest$2(PullRequestScheduler.java:240)
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
        at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:88)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
        at org.apache.cassandra.utils.concurrent.InlinedThreadLocalThread.run(InlinedThreadLocalThread.java:251)
Caused by: java.lang.ClassNotFoundException: com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex not found by io.stargate.db.dse [1]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597)
        at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.apache.cassandra.utils.FBUtilities.classForName(FBUtilities.java:489)
        ... 24 common frames omitted

Из-за этой ошибки я все еще могу получить auth_token, но все запросы select получают эту ошибку

      {
    "description": "Resource not found: keyspace 'test' not found",
    "code": 404
}

Пожалуйста, помогите мне решить эту проблему.

2 ответа

Решение

Stargate в настоящее время не поддерживает расширенные рабочие нагрузки, такие как поиск и график. Я думаю, вам, возможно, придется отбросить и воссоздать это пространство ключей без индекса Solr, чтобы оно снова заработало, поскольку схема все еще существует на других узлах.

Эта проблема задокументирована здесь . Там также была просьба, чтобы поддержать Solr здесь .

@David, я смог отбросить индекс поиска DSE, выполнить скользящий перезапуск моих узлов DSE, а затем узлов Stargate, и он запустился нормально, без каких-либо ошибок. Я гарантирую, что все мои предыдущие данные существовали в полном порядке, и я смог проверить выполнение основных операций CRUD с использованием API-интерфейсов Stargate REST, GraphQL и Document без каких-либо проблем с публикацией.

Другие вопросы по тегам