lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Wöckinger (JIRA) <j...@apache.org>
Subject [jira] [Comment Edited] (SOLR-13347) Error writing Transaction log for UUIDField
Date Mon, 03 Jun 2019 09:51:01 GMT

    [ https://issues.apache.org/jira/browse/SOLR-13347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16854420#comment-16854420
] 

Thomas Wöckinger edited comment on SOLR-13347 at 6/3/19 9:50 AM:
-----------------------------------------------------------------

Ok, so i looked at JavaBinCodec.ObjectResolver in TransactionLog, it seems to be easy to put
serialization Code there, but the reading side is using JavaBinCodec to get the objects out
of the TransactionLog where a type tag is required.

Another possibility would be to put it into LogCodec which is extending JavaBinCodec. The
change would be visible to the TransactionLog only. It is not a perfect solution because LogCodec
is depending on JavaBinCodec, but JavaBinCodec does not know anything of LogCodec by design.


was (Author: thomas.woeckinger):
Ok, so i looked at JavaBinCodec.ObjectResolver in TransactionLog, it seems to be easy to put
serialization Code there, but the reading side is using JavaBinCodec to get the objects out
of the TransactionLog where a type tag is required.

Another possibility would be to put it into LogCodec which is extending JavaBinCodec. The
change would be visible to the TransactionLog only.

> Error writing Transaction log for UUIDField
> -------------------------------------------
>
>                 Key: SOLR-13347
>                 URL: https://issues.apache.org/jira/browse/SOLR-13347
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Server
>    Affects Versions: 7.7, 7.7.1, 8.0
>            Reporter: Thomas Wöckinger
>            Priority: Major
>              Labels: pull-request-available, ready-to-commit, test
>         Attachments: SOLR-13347.patch
>
>          Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> When using Atomic Update, adding a value leads to following Exception
> org.apache.solr.common.SolrException: TransactionLog doesn't know how to serialize class
java.util.UUID; try implementing ObjectResolver?
>     at org.apache.solr.update.TransactionLog$1.resolve(TransactionLog.java:100)
>     at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:263)
>     at org.apache.solr.common.util.JavaBinCodec.writeArray(JavaBinCodec.java:770)
>     at org.apache.solr.common.util.JavaBinCodec.writeKnownType(JavaBinCodec.java:369)
>     at org.apache.solr.common.util.JavaBinCodec.writeKnownType(JavaBinCodec.java:362)
>     at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:252)
>     at org.apache.solr.common.util.JavaBinCodec$BinEntryWriter.put(JavaBinCodec.java:437)
>     at org.apache.solr.common.MapWriter$EntryWriter.putNoEx(MapWriter.java:100)
>     at org.apache.solr.common.MapWriter$EntryWriter.lambda$getBiConsumer$0(MapWriter.java:160)
>     at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
>     at org.apache.solr.common.SolrInputDocument.writeMap(SolrInputDocument.java:51)
>     at org.apache.solr.common.util.JavaBinCodec.writeSolrInputDocument(JavaBinCodec.java:657)
>     at org.apache.solr.update.TransactionLog.write(TransactionLog.java:371)
>     at org.apache.solr.update.UpdateLog.add(UpdateLog.java:573)
>     at org.apache.solr.update.UpdateLog.add(UpdateLog.java:552)
>     at org.apache.solr.update.DirectUpdateHandler2.doNormalUpdate(DirectUpdateHandler2.java:351)
>     at org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:289)
>     at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:236)
>     at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:76)
>     at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:55)
>     at org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:995)
>     at org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1216)
>     at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:700)
>     at org.apache.solr.update.processor.LogUpdateProcessorFactory$LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:103)
>     at org.apache.solr.handler.loader.JavabinLoader$1.update(JavabinLoader.java:110)
>     at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$StreamingCodec.readOuterMostDocIterator(JavaBinUpdateRequestCodec.java:327)
>     at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$StreamingCodec.readIterator(JavaBinUpdateRequestCodec.java:280)
>     at org.apache.solr.common.util.JavaBinCodec.readObject(JavaBinCodec.java:335)
>     at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:280)
>     at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec$StreamingCodec.readNamedList(JavaBinUpdateRequestCodec.java:235)
>     at org.apache.solr.common.util.JavaBinCodec.readObject(JavaBinCodec.java:300)
>     at org.apache.solr.common.util.JavaBinCodec.readVal(JavaBinCodec.java:280)
>     at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:193)
>     at org.apache.solr.client.solrj.request.JavaBinUpdateRequestCodec.unmarshal(JavaBinUpdateRequestCodec.java:126)
>     at org.apache.solr.handler.loader.JavabinLoader.parseAndLoadDocs(JavabinLoader.java:123)
>     at org.apache.solr.handler.loader.JavabinLoader.load(JavabinLoader.java:70)
>     at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)
>     at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:68)
>     at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:2559)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message