Im only running one consumer-instance so would rebalancing / wrong host be
an issue?



On Thu, Dec 8, 2016 at 7:31 AM, Damian Guy <damian....@gmail.com> wrote:

> Hi Jon,
>
> How are you trying to access the store?
>
> That exception is thrown in a few circumstances:
> 1. KakfaStreams hasn't initialized or is re-initializing due to a
> rebalance. This can occur for a number of reasons, i.e., new
> topics/partitions being added to the broker (including streams internal
> topics), broker going down, StreamThreads starting or stopping etc
> 2. The StateStore has just been closed, which would usually mean that 1. is
> about to happen
> 3. The StateStore with that name and type doesn't exist on the local
> KakfaStreams instance.
>
> Thanks,
> Damian
>
> On Thu, 8 Dec 2016 at 11:57 Jon Yeargers <jon.yearg...@cedexis.com> wrote:
>
> > Tried calling that - got this exception (FWIW - there isn't any other
> > instance)
> >
> > State store value comes from
> >
> > groupByKey().aggregate(LogLine::new,
> >     new aggregate(),
> >     TimeWindows.of(60 * 60 * 1000L),
> >     collectorSerde, "minute_agg_stream");
> >
> > 2016-12-08 11:33:50,924 [qtp1318180415-18] DEBUG
> > o.eclipse.jetty.server.HttpChannel - Could not send response error 500,
> > already committed
> >
> > javax.servlet.ServletException:
> > org.apache.kafka.streams.errors.InvalidStateStoreException: the state
> > store, minute_agg_stream, may have migrated to another instance.
> >
> > at
> >
> > org.glassfish.jersey.servlet.WebComponent.serviceImpl(
> WebComponent.java:489)
> >
> > at org.glassfish.jersey.servlet.WebComponent.service(
> WebComponent.java:427)
> >
> > at
> >
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:388)
> >
> > at
> >
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:341)
> >
> > at
> >
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:228)
> >
> > at org.eclipse.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:845)
> >
> > at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:584)
> >
> > at
> >
> > org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:224)
> >
> > at
> >
> > org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1180)
> >
> > at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(
> ServletHandler.java:512)
> >
> > at
> >
> > org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:185)
> >
> > at
> >
> > org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1112)
> >
> > at
> >
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
> >
> > at
> >
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:134)
> >
> > at org.eclipse.jetty.server.Server.handle(Server.java:534)
> >
> > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
> >
> > at
> > org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:251)
> >
> > at
> > org.eclipse.jetty.io
> > .AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
> >
> > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
> >
> > at
> > org.eclipse.jetty.io
> > .SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> >
> > at
> >
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
> executeProduceConsume(ExecuteProduceConsume.java:303)
> >
> > at
> >
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
> produceConsume(ExecuteProduceConsume.java:148)
> >
> > at
> >
> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(
> ExecuteProduceConsume.java:136)
> >
> > at
> >
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> QueuedThreadPool.java:671)
> >
> > at
> >
> > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
> QueuedThreadPool.java:589)
> >
> > at java.lang.Thread.run(Thread.java:745)
> >
> > Caused by: org.apache.kafka.streams.errors.InvalidStateStoreException:
> the
> > state store, minute_agg_stream, may have migrated to another instance.
> >
> > at
> >
> > org.apache.kafka.streams.state.internals.QueryableStoreProvider.
> getStore(QueryableStoreProvider.java:49)
> >
> > at org.apache.kafka.streams.KafkaStreams.store(KafkaStreams.java:378)
> >
> > at
> >
> > com.cedexis.prtminuteagg.RestService.rangeForKeyValueStore(
> RestService.java:190)
> >
> > at
> > com.cedexis.prtminuteagg.RestService.keyRangeForStore(
> RestService.java:99)
> >
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >
> > at
> >
> > sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> >
> > at
> >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> >
> > at java.lang.reflect.Method.invoke(Method.java:498)
> >
> > at
> >
> > org.glassfish.jersey.server.model.internal.
> ResourceMethodInvocationHandlerFactory$1.invoke(
> ResourceMethodInvocationHandlerFactory.java:81)
> >
> > at
> >
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDisp
> atcher.java:144)
> >
> > at
> >
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDisp
> atcher.java:161)
> >
> > at
> >
> > org.glassfish.jersey.server.model.internal.
> JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(
> JavaResourceMethodDispatcherProvider.java:205)
> >
> > at
> >
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher.dispatch(
> AbstractJavaResourceMethodDispatcher.java:99)
> >
> > at
> >
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> invoke(ResourceMethodInvoker.java:389)
> >
> > at
> >
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> apply(ResourceMethodInvoker.java:347)
> >
> > at
> >
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> apply(ResourceMethodInvoker.java:102)
> >
> > at org.glassfish.jersey.server.ServerRuntime$2.run(
> ServerRuntime.java:326)
> >
> > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >
> > at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >
> > at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >
> > at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >
> > at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >
> > at
> >
> > org.glassfish.jersey.process.internal.RequestScope.
> runInScope(RequestScope.java:317)
> >
> > at
> > org.glassfish.jersey.server.ServerRuntime.process(
> ServerRuntime.java:305)
> >
> > at
> >
> > org.glassfish.jersey.server.ApplicationHandler.handle(
> ApplicationHandler.java:1154)
> >
> > at
> >
> > org.glassfish.jersey.servlet.WebComponent.serviceImpl(
> WebComponent.java:473)
> >
> > ... 25 common frames omitted
> >
> > On Thu, Dec 8, 2016 at 3:19 AM, Jon Yeargers <jon.yearg...@cedexis.com>
> > wrote:
> >
> > > Maybe the 'rangeForKeyValueStore' function from the sample?
> > >
> > > On Thu, Dec 8, 2016 at 2:55 AM, Jon Yeargers <jon.yearg...@cedexis.com
> >
> > > wrote:
> > >
> > >> I see functions that require knowing a key name but in the interests
> of
> > >> partitioning we're using fairly complex key structures (IE non-obvious
> > to
> > >> an external function).
> > >>
> > >> Is there a method / process for enumerating keys?
> > >>
> > >
> > >
> >
>

Reply via email to