[infinispan-issues] [JBoss JIRA] (ISPN-8798) ByteString places too strict a constraint on cache name length
Paul Ferraro (JIRA)
issues at jboss.org
Mon Feb 12 09:15:00 EST 2018
[ https://issues.jboss.org/browse/ISPN-8798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Ferraro updated ISPN-8798:
-------------------------------
Description:
The hibernate 2nd level cache code can easily generate cache names that exceed the byte length restriction enforced by ByteString. Cache names are generated using the fully qualified class name of the entity, which are user defined, and in the case of WildFly, also includes the deployment name, which can be particularly long for EARs.
At the very least, we should use an unsigned byte which doubles the allowed size. Why not also consider using https://github.com/infinispan/infinispan/blob/master/commons/src/main/java/org/infinispan/commons/io/UnsignedNumeric.java to marshal/unmarshal the size of the byte[] containing the name? At worst, this costs an extra byte, but solves the size problem for even sizes larger than 255.
was:
The hibernate 2nd level cache code can easily generate cache names that exceed the byte length restriction enforced by ByteString. Cache names are generated using the fully qualified class name of the entity, which are user defined, and in the case of WildFly, also includes the deployment name, which can be particularly long for EARs.
Why not instead use https://github.com/infinispan/infinispan/blob/master/commons/src/main/java/org/infinispan/commons/io/UnsignedNumeric.java to marshal/unmarshal the size of the byte[] containing the name? At worst, this costs an extra byte, but solves the size problem.
> ByteString places too strict a constraint on cache name length
> --------------------------------------------------------------
>
> Key: ISPN-8798
> URL: https://issues.jboss.org/browse/ISPN-8798
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.1.5.Final, 9.2.0.CR2
> Reporter: Paul Ferraro
> Priority: Blocker
>
> The hibernate 2nd level cache code can easily generate cache names that exceed the byte length restriction enforced by ByteString. Cache names are generated using the fully qualified class name of the entity, which are user defined, and in the case of WildFly, also includes the deployment name, which can be particularly long for EARs.
> At the very least, we should use an unsigned byte which doubles the allowed size. Why not also consider using https://github.com/infinispan/infinispan/blob/master/commons/src/main/java/org/infinispan/commons/io/UnsignedNumeric.java to marshal/unmarshal the size of the byte[] containing the name? At worst, this costs an extra byte, but solves the size problem for even sizes larger than 255.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the infinispan-issues
mailing list