Skip to content
This repository has been archived by the owner on Jan 8, 2019. It is now read-only.

error "javax.validation.constraints.Past.message" after server upgrade #1726

Closed
deanilenko opened this issue Mar 4, 2016 · 7 comments · Fixed by Graylog2/graylog-plugin-collector#3

Comments

@deanilenko
Copy link

Hello Guys! We have just upgraded servers with installed Graylog server. After first server start date was incorrect. Then ntp fetched correct data, but i still seeing in log file a lot of errors:

2016-03-04T15:22:10.973+02:00 ERROR [AnyExceptionClassMapper] Unhandled exception in REST resource
java.lang.IllegalArgumentException: Specified object failed validation: [ConstraintViolationImpl{interpolatedMessage='must be in the past', propertyPath=lastSeen, rootBeanClass=class org.graylog2.collectors.AutoValue_CollectorImpl, messageTemplate='{javax.validation.constraints.Past.message}'}]
        at org.graylog2.collectors.CollectorServiceImpl.save(CollectorServiceImpl.java:68)
        at org.graylog2.rest.resources.system.collector.CollectorResource.register(CollectorResource.java:117)
        at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
        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:308)
        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:291)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1140)
        at org.graylog2.jersey.container.netty.NettyContainer.messageReceived(NettyContainer.java:356)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
        at org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
        at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
        at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:176)
        at org.jboss.netty.handler.execution.MemoryAwareThreadPoolExecutor$MemoryAwareRunnable.run(MemoryAwareThreadPoolExecutor.java:606)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

Does anybody know how to fix it?

@joschi
Copy link
Contributor

joschi commented Mar 4, 2016

@deanilenko Make sure that the system time on systems running Graylog Collector is also correct.

@deanilenko
Copy link
Author

all 16 collectors in properly time. Any other suggestions?

@joschi
Copy link
Contributor

joschi commented Mar 4, 2016

@deanilenko At least one of the Collectors has a system time set into the future or your Graylog server node(s) have their system time set into the past.

@deanilenko
Copy link
Author

ok, thanks! i will do my double check at monday...

@deanilenko
Copy link
Author

Hello guys,
I disabled all collectors and errors stopped, but when i`m enabling at list one collector, errors starting again. So basically, problem on graylog-server...But time on server is correct. All servers synced with ntp. Any ideas?

@mobidevadmin
Copy link

Hello,
does anyone have some ideas as it becomes really annoying? The log is full of such error messages.

Thanks.

kroepke added a commit to Graylog2/graylog-plugin-collector that referenced this issue Mar 31, 2016
this breaks due to a race condition creating the timestamp and validating the field. if both happens within the same millisecond it's not "past"

fix #2002
fix graylog-labs/graylog2-web-interface#1726
@bernd
Copy link
Contributor

bernd commented Apr 1, 2016

This will be fixed in the upcoming Graylog version 2.0. (>= beta.2)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants