[infinispan-issues] [JBoss JIRA] (ISPN-7405) DMR operation register-proto-schemas fails with NPE if the proto file has syntax errors
Dan Berindei (JIRA)
issues at jboss.org
Fri Jan 27 11:40:00 EST 2017
[ https://issues.jboss.org/browse/ISPN-7405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13354467#comment-13354467 ]
Dan Berindei commented on ISPN-7405:
------------------------------------
[~anistor] the problem is that {{ProtobufMetadataInterceptor}} tries to store the {{name.proto.errors}} entry with a {{null}} metadata. This works when the cache doesn't have persistence, but it triggers a {{NullPointerException}} when {{CacheWriterInterceptor}} tries to create an {{InternalCacheEntry}} from the context entry.
I see {{InternalEntryFactoryImpl}} has some checks to deal with {{null}} metadata, but it's probably not incomplete writes from {{Cache}} methods always use a non-null metadata. Ideally I think we should check that the metadata is not null in {{CommandFactoryImpl}} and {{ProtobufMetadataInterceptor}} should use the main entry's metadata.
> DMR operation register-proto-schemas fails with NPE if the proto file has syntax errors
> ---------------------------------------------------------------------------------------
>
> Key: ISPN-7405
> URL: https://issues.jboss.org/browse/ISPN-7405
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Querying, Server
> Affects Versions: 9.0.0.Beta2
> Reporter: Adrian Nistor
> Priority: Blocker
> Fix For: 9.0.0.CR1
>
> Attachments: error.log
>
>
> Start an infinispan server and run the following CLI command:
> ./bin/ispn-cli.sh -c '/subsystem=datagrid-infinispan/cache-container=local:register-proto-schemas(file-names=[myFileWithSyntaxErrors.proto], file-contents=[kaboom])'
> since the file has syntax errors it should still be placed in the ___protobuf_metadata cache and a myFileWithSyntaxErrors.proto.errors key should also be created. No exception should be thrown. Currently no key is written in cache and the NPE from the attached log happens.
> When registering a proper file without syntax errors this works correctly.
> The problem disappears if I disable global state persistence, so the cachestore seems to play a role in this.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the infinispan-issues
mailing list