[ 
https://issues.apache.org/jira/browse/GEODE-9409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mario Kevo updated GEODE-9409:
------------------------------
    Description: 
If the "create region" command is executed while the Geode server is restarting 
it will fail with NullPointerException on that server.

It happens for persistent regions as it tries to findDiskStore but in that 
method, it first tries to get PdxRegistry from the cache and create a 
persistent Region on that. But in that case, when the cache is creating(it 
takes some more time if the server is restarting), if the command is executed 
fast it happened that creating cache is not finished and pdxRegistry is null, 
so every method executed on that will throw NullPointerException.

 
{code:java}
gfsh>create region --name=/test_region2 --type=PARTITION_REDUNDANT_PERSISTENT 
--total-num-buckets=113 --disk-store=dataDiskStore 
--enable-synchronous-disk=false
Member | Status | Message
------- | ------ | 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
server1 | OK | Region "/test_region2" created on "server1"
server2 | OK | Region "/test_region2" created on "server2"
server3 | ERROR | java.lang.NullPointerException
 at 
org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7498)
 at 
org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(PartitionedRe..
Cluster configuration for group 'cluster' is updated.
{code}
 

  was:
If the "create region" command is executed while the Geode server is starting 
it will fail with NullPointerException on that server.

It happens for persistent regions as it tries to findDiskStore but in that 
method, it first tries to get PdxRegistry from the cache and create a 
persistent Region on that. But in that case, when the cache is creating, if the 
command is executed fast it happened that creating cache is not finished and 
pdxRegistry is null, so every method executed on that will throw 
NulPointerException.

 
{code:java}
gfsh>create region --name=/test_region2 --type=PARTITION_REDUNDANT_PERSISTENT 
--total-num-buckets=113 --disk-store=dataDiskStore 
--enable-synchronous-disk=false
Member | Status | Message
------- | ------ | 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
server1 | OK | Region "/test_region2" created on "server1"
server2 | OK | Region "/test_region2" created on "server2"
server3 | ERROR | java.lang.NullPointerException
 at 
org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7498)
 at 
org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(PartitionedRe..
Cluster configuration for group 'cluster' is updated.
{code}
 


> NullPointerException while create region during server restart
> --------------------------------------------------------------
>
>                 Key: GEODE-9409
>                 URL: https://issues.apache.org/jira/browse/GEODE-9409
>             Project: Geode
>          Issue Type: Bug
>          Components: gfsh, regions
>            Reporter: Mario Kevo
>            Assignee: Mario Kevo
>            Priority: Major
>
> If the "create region" command is executed while the Geode server is 
> restarting it will fail with NullPointerException on that server.
> It happens for persistent regions as it tries to findDiskStore but in that 
> method, it first tries to get PdxRegistry from the cache and create a 
> persistent Region on that. But in that case, when the cache is creating(it 
> takes some more time if the server is restarting), if the command is executed 
> fast it happened that creating cache is not finished and pdxRegistry is null, 
> so every method executed on that will throw NullPointerException.
>  
> {code:java}
> gfsh>create region --name=/test_region2 --type=PARTITION_REDUNDANT_PERSISTENT 
> --total-num-buckets=113 --disk-store=dataDiskStore 
> --enable-synchronous-disk=false
> Member | Status | Message
> ------- | ------ | 
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> server1 | OK | Region "/test_region2" created on "server1"
> server2 | OK | Region "/test_region2" created on "server2"
> server3 | ERROR | java.lang.NullPointerException
>  at 
> org.apache.geode.internal.cache.LocalRegion.findDiskStore(LocalRegion.java:7498)
>  at 
> org.apache.geode.internal.cache.PartitionedRegion.findDiskStore(PartitionedRe..
> Cluster configuration for group 'cluster' is updated.
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to