Issues
- Restore master checking code in JGroupsMasterMessageListenerHSEARCH-2710Resolved issue: HSEARCH-2710Yoann Rodière
- Add support for converting MatchNoDocsQuery to ElasticsearchHSEARCH-2709Resolved issue: HSEARCH-2709Yoann Rodière
- Avoid frequent URL encoding operations at runtimeHSEARCH-2704Resolved issue: HSEARCH-2704Sanne Grinovero
- Improve boost handling when translating Lucene queries to ElasticsearchHSEARCH-2703Resolved issue: HSEARCH-2703Yoann Rodière
- Allow reflection to all-unnamed modules for JDK9 integration testingHSEARCH-2701Resolved issue: HSEARCH-2701Sanne Grinovero
- Javassist not being included in the distribution tarballsHSEARCH-2699Resolved issue: HSEARCH-2699Sanne Grinovero
- Investigate and try to solve warnings in build logsHSEARCH-2698Resolved issue: HSEARCH-2698Yoann Rodière
- Mapping with @Field @IndexedEmbedded Integer[] field throws InaccessibleObjectExceptionHSEARCH-2697Resolved issue: HSEARCH-2697Yoann Rodière
- Speedup initialization of Elasticsearch client by skipping SSL engine initialization when not requiredHSEARCH-2695Resolved issue: HSEARCH-2695Sanne Grinovero
- Reduce verbosity and warnings from the Elasticsearch integration testsHSEARCH-2694Resolved issue: HSEARCH-2694Sanne Grinovero
- Custom filter implementations must provide proper implementations of the #equals() and #hashCode() methods.HSEARCH-2691Resolved issue: HSEARCH-2691Andrej Golovnin
- FileHelper based index replication attempts to delete locked files on WindowsHSEARCH-2690Resolved issue: HSEARCH-2690Sanne Grinovero
- Clearing scroll IDs (when closing ScrollableResults) fails systematically with ElasticsearchHSEARCH-2688Resolved issue: HSEARCH-2688Yoann Rodière
- Upgrade Hibernate ORM to 5.2.10.FinalHSEARCH-2687Resolved issue: HSEARCH-2687Sanne Grinovero
- Improve timeout handling in testsHSEARCH-2684Resolved issue: HSEARCH-2684Yoann Rodière
- Investigate alerts from lgtmHSEARCH-2680Resolved issue: HSEARCH-2680Yoann Rodière
- Improve error handling/reporting around Elasticsearch request sendingHSEARCH-2679Resolved issue: HSEARCH-2679Yoann Rodière
- Upgrade to Byteman 4.0.0-BETA4 to restore Java 9 compatibilityHSEARCH-2677Resolved issue: HSEARCH-2677Sanne Grinovero
- JGroupsBackendQueueProcessor doesn't switch from slave to master dynamicallyHSEARCH-2675Resolved issue: HSEARCH-2675Yoann Rodière
- Facet drill-down will never return any result when the source field has a different nameHSEARCH-2670Resolved issue: HSEARCH-2670Yoann Rodière
- Fulltext Query timeout methods should no longer be flagged as experimentalHSEARCH-2667Resolved issue: HSEARCH-2667Yoann Rodière
- Automatic translation of TypeTokenFilterFactory to Elasticsearch turns blacklists to whitelistsHSEARCH-2642Resolved issue: HSEARCH-2642Yoann Rodière
- Be more resilient to the absence of id in the _sourceHSEARCH-2636Resolved issue: HSEARCH-2636Yoann Rodière
- Disallow conflicting usage of @ParameterHSEARCH-2606Resolved issue: HSEARCH-2606Sanne Grinovero
- Support the *.worker.execution configuration option on ElasticsearchHSEARCH-2502Resolved issue: HSEARCH-2502Yoann Rodière
- Report incomplete metadata issues during Elasticsearch mapping generationHSEARCH-2458Resolved issue: HSEARCH-2458Yoann Rodière
- NPE on metadata reading when the user entity is not using a packageHSEARCH-2319Resolved issue: HSEARCH-2319Sanne Grinovero
- Avoid the org.apache.lucene.search.Filter APIHSEARCH-2208Resolved issue: HSEARCH-2208Yoann Rodière
- Create a Maven profile to allow testing with an externally managed Elasticsearch nodeHSEARCH-2158Resolved issue: HSEARCH-2158Yoann Rodière
- Expose size of the indexes among statisticsHSEARCH-2014Resolved issue: HSEARCH-2014Yoann Rodière
- Master indexing nodes fail to lookup lazily initialized IndexManager instancesHSEARCH-1886Resolved issue: HSEARCH-1886Yoann Rodière
31 of 31
Restore master checking code in JGroupsMasterMessageListener
Fixed
Description
follows up on
required for
Details
Assignee
Yoann RodièreYoann RodièreReporter
Yoann RodièreYoann RodièreComponents
Fix versions
Priority
Critical
Details
Details
Assignee
Yoann Rodière
Yoann RodièreReporter
Yoann Rodière
Yoann RodièreComponents
Fix versions
Priority
Created May 4, 2017 at 7:58 AM
Updated May 11, 2017 at 7:35 AM
Resolved May 10, 2017 at 11:05 AM
Activity
Show:
In commit e62b27eeadb73c3c867866f4aeaed14fb77baa98 I removed a check in JGroupsMasterMessageListener about making sure that we actually are the master before applying works locally. It was necessary to remove the check because in the case of dynamic sharding, we cannot do this check easily.
It seemed to make sense because the check seemed to be only about handling master re-election. I assumed that works were being sent to the master only. I was wrong: JGroups messages are broadcasted, and each node is supposed to filter them on its own.
So the current behavior, without the check, results in every node applying every work, then figuring out it's not the master, re-sending the message, and so on: we basically create an infinitely growing message stack. Fortunately we don't go that far, because something seems to block message sending at some point, but still, this doesn't work.
Thus we need to restore this check, and find another way to handle dynamic sharding properly.