You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was benchmarking ES indexing and noticed that IMC no longer asks shards to write indexing buffers to disk, which is horrible :)
I dug a bit, and I see that IMC is passed an Iterable<IndexShard> indexServices to its ctor, which it uses to find all active shards. However, this iterable for some reason produces no shards.
Here's the full stack trace to IMC init, so I think somehow guice is not giving IMC the right iterable or something?
node0: java.lang.Throwable
node0: at org.elasticsearch.indices.IndexingMemoryController.<init>(IndexingMemoryController.java:104)
node0: at org.elasticsearch.indices.IndexingMemoryController.<init>(IndexingMemoryController.java:97)
node0: at org.elasticsearch.indices.IndicesService.<init>(IndicesService.java:184)
node0: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
node0: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
node0: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
node0: at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
node0: at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:49)
node0: at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
node0: at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:116)
node0: at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
node0: at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
node0: at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
node0: at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
node0: at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:50)
node0: at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
node0: at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
node0: at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
node0: at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:116)
node0: at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:47)
node0: at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:886)
node0: at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:43)
node0: at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:59)
node0: at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:50)
node0: at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:205)
node0: at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:197)
node0: at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:879)
node0: at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:197)
node0: at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:187)
node0: at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
node0: at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
node0: at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:96)
node0: at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
node0: at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:46)
node0: at org.elasticsearch.node.Node.<init>(Node.java:235)
node0: at org.elasticsearch.node.Node.<init>(Node.java:161)
node0: at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:188)
node0: at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:188)
node0: at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:261)
node0: at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:111)
node0: at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:106)
node0: at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:91)
node0: at org.elasticsearch.cli.Command.main(Command.java:53)
node0: at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:74)
node0: at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:67)
The text was updated successfully, but these errors were encountered:
I was benchmarking ES indexing and noticed that IMC no longer asks shards to write indexing buffers to disk, which is horrible :)
I dug a bit, and I see that IMC is passed an
Iterable<IndexShard> indexServices
to its ctor, which it uses to find all active shards. However, this iterable for some reason produces no shards.Here's the full stack trace to IMC init, so I think somehow guice is not giving IMC the right iterable or something?
The text was updated successfully, but these errors were encountered: