首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FusionAuth使用AWS Elasticsearch不完整的重新索引

FusionAuth使用AWS Elasticsearch不完整的重新索引
EN

Stack Overflow用户
提问于 2020-02-18 18:34:00
回答 1查看 150关注 0票数 0

我正在从自托管的Elasticsearch FusionAuth search迁移到AWS Elasticsearch Service解决方案。

我有一个新的FusionAuth应用程序EC2实例正在从正在使用的数据库中读取,该数据库被配置为使用新的Elasticsearch服务。

在从新的应用实例触发重新索引时,我看到只有大约60k或62.5k的文档被写入到新的索引中,而我预期的是大约6mil。

我在AWS的Elasticsearch Service中看不到错误,在应用程序的日志中我可以看到:(有意省略了端点)

代码语言:javascript
复制
Feb 13, 2020 10:18:46.116 AM INFO  io.fusionauth.api.service.search.ElasticSearchClientProvider - Connecting to FusionAuth Search Engine at [https://vpc-<<omitted>>.eu-west-1.es.amazonaws.com]
13-Feb-2020 11:19:55.176 INFO [http-nio-9011-exec-3] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
        java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
                at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:430)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
"/usr/local/fusionauth/logs/fusionauth-app.log" [readonly] 43708L, 4308629C                                                                                                                                                                                                                                                                               42183,1       96%
        at io.fusionauth.api.service.search.client.domain.documents.IndexUser.<init>(IndexUser.java:79)
        at io.fusionauth.api.service.search.ElasticsearchSearchEngine.lambda$index$1(ElasticsearchSearchEngine.java:140)
        at java.util.ArrayList.forEach(ArrayList.java:1257)
        at io.fusionauth.api.service.search.ElasticsearchSearchEngine.index(ElasticsearchSearchEngine.java:140)
        at io.fusionauth.api.service.user.ReindexRunner$ReindexWorker.run(ReindexRunner.java:101)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-14" java.lang.NullPointerException
        at io.fusionauth.api.service.search.client.domain.documents.IndexUser.<init>(IndexUser.java:79)
        at io.fusionauth.api.service.search.ElasticsearchSearchEngine.lambda$index$1(ElasticsearchSearchEngine.java:140)
        at java.util.ArrayList.forEach(ArrayList.java:1257)
        at io.fusionauth.api.service.search.ElasticsearchSearchEngine.index(ElasticsearchSearchEngine.java:140)
        at io.fusionauth.api.service.user.ReindexRunner$ReindexWorker.run(ReindexRunner.java:101)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-13" java.lang.NullPointerException
Exception in thread "Thread-11" java.lang.NullPointerException
Exception in thread "Thread-12" java.lang.NullPointerException
Feb 18, 2020 10:23:29.064 AM INFO  io.fusionauth.api.service.user.ReindexRunner - Reindex completed in [86797] ms or [86] seconds.

尽管有一些例外,但在最后也有一个"Reindex completed“信息日志。

由于不了解Elasticsearch的细节,我也不确定从哪里开始研究NullPointerException。

EN

回答 1

Stack Overflow用户

发布于 2020-02-19 01:27:13

看起来重新索引操作正在接受一个异常,这可能是导致索引被截断的原因。

代码语言:javascript
复制
Exception in thread "Thread-14" java.lang.NullPointerException
        at io.fusionauth.api.service.search.client.domain.documents.IndexUser.<init>(IndexUser.java:79)

这段代码假设您有一个用户名或电子邮件地址。这应该由FusionAuth API强制执行。但在本例中,对于发生此异常的情况,电子邮件和用户名都是NULL

您是如何使用Import API、User API或其他方法将用户带入数据库的?

理论上,您应该至少找到一个电子邮件和用户名为NULL值的用户。

该查询-或类似查询-应该找到违规用户,然后我们需要确定该用户是如何添加到FusionAuth的。

代码语言:javascript
复制
SELECT email, username from identities WHERE email IS NULL OR username IS NULL
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60278858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档