Good morning!
I've been seeing the following exception using the in my stardog client with increasing frequency:
com.complexible.stardog.StardogException: Missing start boundary
at com.complexible.stardog.protocols.http.icv.client.ICVHttpConnection.getViolationBindings(ICVHttpConnection.java:201)
at com.complexible.stardog.icv.api.AbstractICVConnection.getViolationBindings(AbstractICVConnection.java:107)
at Client.icvChecker(Client.java:515)
... 63 more
Caused by: javax.mail.MessagingException: Missing start boundary
at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:882)
at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:503)
at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:244)
at com.complexible.stardog.protocols.http.icv.client.ICVHttpConnection.getViolationBindings(ICVHttpConnection.java:181)
... 65 more
At the time of the exception, I am also seeing the following stack trace in the stardog server log:
com.complexible.common.protocols.server.rpc.ServerHandler exceptionCaught
SEVERE: exceptionCaughtServerHandler
java.lang.RuntimeException: java.lang.RuntimeException: com.complexible.stardog.security.StardogAuthorizationException: There is no authenticated user.
at com.complexible.stardog.icv.ICValidatorIndex$1.apply(ICValidatorIndex.java:204)
at com.complexible.stardog.icv.ICValidatorIndex$1.apply(ICValidatorIndex.java:194)
at com.google.common.collect.Iterators$8.transform(Iterators.java:794)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:646)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at com.complexible.common.iterations.Iterations$IteratorIteration.computeNext(Iterations.java:552)
at com.complexible.common.iterations.AbstractIteration.tryToComputeNext(AbstractIteration.java:104)
at com.complexible.common.iterations.AbstractIteration.hasNext(AbstractIteration.java:91)
at com.complexible.common.iterations.DelegatingIteration.hasNext(DelegatingIteration.java:59)
at com.complexible.stardog.protocols.snarl.icv.server.ICVServerFunction$SubjectIteration.hasNext(ICVServerFunction.java:231)
at com.complexible.stardog.protocols.http.icv.server.ICVHttpRoutes$ViolationBodyEncoder.encode(ICVHttpRoutes.java:155)
at com.complexible.stardog.protocols.http.server.HttpMessageEncoder$SingletonMessageResponseBodyEncoder.encode(HttpMessageEncoder.java:460)
at com.complexible.stardog.protocols.http.server.HttpMessageEncoder.write(HttpMessageEncoder.java:142)
at io.netty.channel.DefaultChannelHandlerContext.invokeWrite(DefaultChannelHandlerContext.java:647)
at io.netty.channel.DefaultChannelHandlerContext.access$2000(DefaultChannelHandlerContext.java:29)
at io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.write(DefaultChannelHandlerContext.java:914)
at io.netty.channel.DefaultChannelHandlerContext$WriteAndFlushTask.write(DefaultChannelHandlerContext.java:968)
at io.netty.channel.DefaultChannelHandlerContext$AbstractWriteTask.run(DefaultChannelHandlerContext.java:903)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:354)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:353)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.RuntimeException: com.complexible.stardog.security.StardogAuthorizationException: There is no authenticated user.
at com.complexible.stardog.StardogKernel$KernelDbConnection.createQuery(StardogKernel.java:2790)
at com.complexible.stardog.StardogKernel$KernelDbConnection.select(StardogKernel.java:2821)
at com.complexible.stardog.db.DelegatingDatabaseConnection.select(DelegatingDatabaseConnection.java:176)
at com.complexible.stardog.icv.ICValidatorIndex$1.apply(ICValidatorIndex.java:200)
... 23 more
Caused by: com.complexible.stardog.security.StardogAuthorizationException: There is no authenticated user.
at com.complexible.stardog.security.StardogSecurityUtils.getAuthenticatedUsername(StardogSecurityUtils.java:65)
at com.complexible.stardog.StardogKernel$KernelDbConnection.createQuery(StardogKernel.java:2781)
... 26 more
Here is the block of code producing the exception:
Connection aConn = dataSource.getConnection();
ICVConnection icvConnection = aConn.as(ICVConnection.class);
Iteration<ConstraintViolation<BindingSet>, StardogException> violations = icvConnection.getViolationBindings();
I'm using the Stardog Spring extension to configure my data source with valid user credentials. Also, problem manifests inconsistently. For example, when the
getViolationBindings() fails with the exception, above, I continue to call the method until it succeeds. No changes are made to the data between calls. This is fine for prototyping, but doesn't work in the long run. Any ideas how I can resolve this?
Thanks,
Duane