[ https://issues.apache.org/jira/browse/SOLR-13347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16854420#comment-16854420 ]
Thomas Wöckinger commented on SOLR-13347: ----------------------------------------- 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-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org