the following config which is valid will result in timestamp column being treated as dimension:
https://gist.github.com/pdeva/614465c0765cc3eb319b/e7c754ac59e44ed99d73ab62dc4b5b3e6f25d810
this was modified based on chat conversation to have a dimension exclusion:
https://gist.github.com/pdeva/614465c0765cc3eb319b/3175630c37ed3024d83c6cabc827050c81919035
this results in the realtime node throwing an exception during handoff.
Maybe the exception is because the realtime node was switched from prev schema to new one in the middle of an hour. Please clarify.
2014-09-15 22:03:31,066 WARN [qtp2126245039-35] org.eclipse.jetty.servlet.ServletHandler - /druid/v2/
com.metamx.common.ISE: Merging when a merge isn't supposed to happen[SegmentAnalysis{id='dripstat_2014-09-15T21:00:00.000Z_2014-09-15T22:00:00.000Z_2014-09-15T21:00:00.000Z', interval=[2014-09-15T21:00:00.000Z/2014-09-15T21:07:00.001Z], size=2672341}], [SegmentAnalysis{id='dripstat_2014-09-15T21:00:00.000Z_2014-09-15T22:00:00.000Z_2014-09-15T21:00:00.000Z', interval=[2014-09-15T21:00:00.000Z/2014-09-15T21:17:00.001Z], size=3442228}]
at io.druid.query.metadata.SegmentMetadataQueryQueryToolChest$2$2.apply(SegmentMetadataQueryQueryToolChest.java:117)
at io.druid.query.metadata.SegmentMetadataQueryQueryToolChest$2$2.apply(SegmentMetadataQueryQueryToolChest.java:102)
at io.druid.common.guava.CombiningSequence$CombiningYieldingAccumulator.accumulate(CombiningSequence.java:207)
at com.metamx.common.guava.BaseSequence.makeYielder(BaseSequence.java:104)
at com.metamx.common.guava.BaseSequence.toYielder(BaseSequence.java:81)
at com.metamx.common.guava.ConcatSequence.makeYielder(ConcatSequence.java:93)
at com.metamx.common.guava.ConcatSequence.toYielder(ConcatSequence.java:72)
at io.druid.query.MetricsEmittingQueryRunner$1.toYielder(MetricsEmittingQueryRunner.java:133)
at io.druid.query.spec.SpecificSegmentQueryRunner$2$2.call(SpecificSegmentQueryRunner.java:93)
at io.druid.query.spec.SpecificSegmentQueryRunner$2$2.call(SpecificSegmentQueryRunner.java:89)
at io.druid.query.spec.SpecificSegmentQueryRunner.doNamed(SpecificSegmentQueryRunner.java:149)
at io.druid.query.spec.SpecificSegmentQueryRunner.access$300(SpecificSegmentQueryRunner.java:35)
at io.druid.query.spec.SpecificSegmentQueryRunner$2.doItNamed(SpecificSegmentQueryRunner.java:140)
at io.druid.query.spec.SpecificSegmentQueryRunner$2.toYielder(SpecificSegmentQueryRunner.java:87)
at com.metamx.common.guava.ConcatSequence.makeYielder(ConcatSequence.java:93)
at com.metamx.common.guava.ConcatSequence.toYielder(ConcatSequence.java:72)
at io.druid.common.guava.CombiningSequence.toYielder(CombiningSequence.java:78)
at com.metamx.common.guava.MappedSequence.toYielder(MappedSequence.java:46)
at io.druid.server.QueryResource.doPost(QueryResource.java:163)
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:483)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:278)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:268)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132)
at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129)
at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:300)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:485)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:290)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:606)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:535)
at java.lang.Thread.run(Thread.java:745)
the following config which is valid will result in timestamp column being treated as dimension:
https://gist.github.com/pdeva/614465c0765cc3eb319b/e7c754ac59e44ed99d73ab62dc4b5b3e6f25d810
this was modified based on chat conversation to have a dimension exclusion:
https://gist.github.com/pdeva/614465c0765cc3eb319b/3175630c37ed3024d83c6cabc827050c81919035
this results in the realtime node throwing an exception during handoff.
Maybe the exception is because the realtime node was switched from prev schema to new one in the middle of an hour. Please clarify.