【发布时间】:2022-01-18 11:12:51
【问题描述】:
DSE 版本:6.7
由于以下代码适用于 DSE java 驱动程序版本:1.8.2 与以下代码
Statement selectQuery = QueryBuilder.select().all().from(table) .where(**QueryBuilder.eq**("solr_query", "{"q":"createdat:[2021-10-15T14:03:37.817Z TO 2021-12-15T07:23:14.025Z]","sort":"updatedate desc", "paging":"driver"}")) .setConsistencyLevel(ConsistencyLevel.valueOf("LOCAL_ONE")); ResultSet rs= super.getManager().getSession().execute(selectQuery);
升级到 DSE java 驱动程序版本:4.13.0 查询是:-
Select selectQuery = selectFrom(table).all().whereColumn("solr_query").isEqualTo(literal("{"q":"createdat:[2021-10-15T14:03:37.817Z TO 2021-12-15T07:23:14.025Z]","sort":"updatedate desc", "paging":"driver"}")); SimpleStatement statement = selectQuery.build().setConsistencyLevel(DefaultConsistencyLevel.valueOf("LOCAL_ONE")); ResultSet rs = this.session.execute(statement );
*--> 给出以下例外:
com.datastax.oss.driver.api.core.servererrors.InvalidQueryException:碎片 12.345.678.90 上的错误:字段缓存已禁用,将 field=updatedate 设置为 docValues=true 并重新索引。或者如果字段缓存不会超过堆使用量,则在请求参数中放置useFieldCache=true。
我不知道如何解决这个问题。
【问题讨论】:
-
在社区的问答形式中很难与您一起解决此问题,因此我建议如果您订阅了 DSE,请请求您在 DataStax 支持门户网站support.datastax.com 上登录票证并附上诊断报告以及驱动程序、JDK、应用程序日志等的版本更改,以便我们的一位工程师为您分析。干杯!我们可以随时跟进并在此处发布调查结果以结束循环。
-
使用的 DSE 版本是什么?除了 Java 驱动程序从 4.9.0 升级到 4.13.0 之外,最近是否有任何 DSE 服务器/JDK 升级?
-
@Madhavan datastax Eterprise 是 6.7,将 dse java 驱动程序从 1.8.2 升级到 4.13
-
感谢您更新原始问题以及提供 6.7 的 DSE 版本(我们仍然不知道补丁版本是什么。例如 6.7.11)。您是否已经打开了支持票,以提供有关应用程序日志、堆栈跟踪、服务器端诊断包、要重现的最小代码库等的其他问题?