You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Goncharuk (JIRA)" <ji...@apache.org> on 2017/09/12 13:51:00 UTC

[jira] [Commented] (IGNITE-6356) Signed overflow when reading partition greater than Short.MAX_VALUE

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

Alexey Goncharuk commented on IGNITE-6356:
------------------------------------------

The reason is the following code in GridDhtPartitionMap.java:
{code}
        for (int i = 0; i < size; i++) {
            int ordinal = in.readByte();
            int part = in.readShort();
{code}
which leads to a negative parititon ID.

> Signed overflow when reading partition greater than Short.MAX_VALUE
> -------------------------------------------------------------------
>
>                 Key: IGNITE-6356
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6356
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.0
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>             Fix For: 2.3
>
>
> When starting a cache with the number of partitions greater than 32768, the following error is observed:
> {code}
> Caused by: java.lang.IndexOutOfBoundsException: bitIndex < 0: -98295
> 	at java.util.BitSet.get(BitSet.java:623)
> 	at org.apache.ignite.internal.util.GridPartitionStateMap.state(GridPartitionStateMap.java:200)
> 	at org.apache.ignite.internal.util.GridPartitionStateMap.setState(GridPartitionStateMap.java:173)
> 	at org.apache.ignite.internal.util.GridPartitionStateMap.put(GridPartitionStateMap.java:148)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap.put(GridDhtPartitionMap.java:137)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap.readExternal(GridDhtPartitionMap.java:301)
> 	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:523)
> 	at org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:917)
> 	at org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:324)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
> 	at org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:227)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)