[
https://issues.apache.org/jira/browse/HBASE-10509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899623#comment-13899623
]
Andrew Purtell commented on HBASE-10509:
----------------------------------------
The protobuf do() function would get a null for the failure case prior to this
change. Now we always send through an object built with the required field set.
Only shows up when using the IBM JDK so I am assuming some difference in use of
reflection in protobuf (?). I was not feeling well so stopped investigation
after finding a workaround. We could dig deeper in lieu of this patch but I
don't know what other change we could make under our control.
> TestRowProcessorEndpoint fails with missing required field
> row_processor_result
> -------------------------------------------------------------------------------
>
> Key: HBASE-10509
> URL: https://issues.apache.org/jira/browse/HBASE-10509
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.98.0, 0.99.0
> Environment: IBM J9 VM (build 2.7, JRE 1.7.0 Linux amd64-64
> Compressed References 20131114_175264 (JIT enabled, AOT enabled)
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Priority: Minor
> Attachments: 10509.patch
>
>
> Seen with IBM JDK 7:
> {noformat}
> Caused by: com.google.protobuf.UninitializedMessageException: Message missing
> required fields: row_processor_result
> at
> com.google.protobuf.AbstractMessage$Builder.newUninitializedMessageException(AbstractMessage.java:770)
> at
> org.apache.hadoop.hbase.protobuf.generated.RowProcessorProtos$ProcessResponse$Builder.build(RowProcessorProtos.java:1301)
> at
> org.apache.hadoop.hbase.protobuf.generated.RowProcessorProtos$ProcessResponse$Builder.build(RowProcessorProtos.java:1245)
> at
> org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5482)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)