You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by anilkumar gingade <ag...@pivotal.io> on 2016/02/25 02:25:13 UTC

Review Request 43975: Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43975/
-----------------------------------------------------------

Review request for geode, Barry Oglesby, Jason Huynh, William Markito, Dan Smith, and xiaojian zhou.


Repository: geode


Description
-------

Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

There is a small window in remove() where the data and size are are not updated atomically. 

Changes are made so that data and size are updated atomically.

Also, the test "IndexElemArrayJUnitTest.java" was not invoking all the function tests, because of a test issue. Fixed the test issue to get the coverage for IndexElemArray data structure.

Added test to perform multithreaded operation to reproduce ArrayIndexOutOfBoundsException issue and validate the fix.


Diffs
-----

  geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArray.java de694a400b948c017c2c1fc518046d75cbbd3b34 
  geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java 8c512646ad3fd259bc28bf5f3988c990cc47df41 

Diff: https://reviews.apache.org/r/43975/diff/


Testing
-------

Fixed the broken functional test for IndexElemArray.
Added new test to reproduce the issue. And validate the fix.


Thanks,

anilkumar gingade


Re: Review Request 43975: Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

Posted by anilkumar gingade <ag...@pivotal.io>.

> On Feb. 26, 2016, 6:35 p.m., Jason Huynh wrote:
> > geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java, line 73
> > <https://reviews.apache.org/r/43975/diff/1/?file=1270454#file1270454line73>
> >
> >     maybe a short comment on what this test is hoping to test?
> >     Was this test able to reproduce the issue without the fix?

Yes...The fix is made after conistently reproducing the issue with test.


> On Feb. 26, 2016, 6:35 p.m., Jason Huynh wrote:
> > geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java, line 51
> > <https://reviews.apache.org/r/43975/diff/1/?file=1270454#file1270454line51>
> >
> >     Not related to this task specifically, but we probably should seperate this into multiple tests at some point as it would be hard to figure out what is broken when this test fails...

Good point...we should separate this into multiple test at some time...Probably with a new tracker story.


- anilkumar


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43975/#review120906
-----------------------------------------------------------


On Feb. 25, 2016, 1:49 a.m., anilkumar gingade wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43975/
> -----------------------------------------------------------
> 
> (Updated Feb. 25, 2016, 1:49 a.m.)
> 
> 
> Review request for geode, Barry Oglesby, Jason Huynh, William Markito, Dan Smith, and xiaojian zhou.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.
> 
> There is a small window in remove() where the data and size are not updated atomically. 
> 
> Changes are made so that data and size are updated atomically.
> 
> Also, because of a test issue, the test "IndexElemArrayJUnitTest.java" was not invoking the functional tests. Fixed the test issue to get coverage for IndexElemArray data structure.
> 
> Added test to perform multithreaded operation to reproduce ArrayIndexOutOfBoundsException issue and validate the fix.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArray.java de694a400b948c017c2c1fc518046d75cbbd3b34 
>   geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java 8c512646ad3fd259bc28bf5f3988c990cc47df41 
> 
> Diff: https://reviews.apache.org/r/43975/diff/
> 
> 
> Testing
> -------
> 
> Fixed the broken functional test for IndexElemArray.
> Added new test to reproduce the issue. And validate the fix.
> 
> 
> Thanks,
> 
> anilkumar gingade
> 
>


Re: Review Request 43975: Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

Posted by Jason Huynh <hu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43975/#review120906
-----------------------------------------------------------


Fix it, then Ship it!




Ship It!


geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java (line 51)
<https://reviews.apache.org/r/43975/#comment182434>

    Not related to this task specifically, but we probably should seperate this into multiple tests at some point as it would be hard to figure out what is broken when this test fails...



geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java (line 67)
<https://reviews.apache.org/r/43975/#comment182437>

    maybe a short comment on what this test is hoping to test?
    Was this test able to reproduce the issue without the fix?


- Jason Huynh


On Feb. 25, 2016, 1:49 a.m., anilkumar gingade wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43975/
> -----------------------------------------------------------
> 
> (Updated Feb. 25, 2016, 1:49 a.m.)
> 
> 
> Review request for geode, Barry Oglesby, Jason Huynh, William Markito, Dan Smith, and xiaojian zhou.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.
> 
> There is a small window in remove() where the data and size are not updated atomically. 
> 
> Changes are made so that data and size are updated atomically.
> 
> Also, because of a test issue, the test "IndexElemArrayJUnitTest.java" was not invoking the functional tests. Fixed the test issue to get coverage for IndexElemArray data structure.
> 
> Added test to perform multithreaded operation to reproduce ArrayIndexOutOfBoundsException issue and validate the fix.
> 
> 
> Diffs
> -----
> 
>   geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArray.java de694a400b948c017c2c1fc518046d75cbbd3b34 
>   geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java 8c512646ad3fd259bc28bf5f3988c990cc47df41 
> 
> Diff: https://reviews.apache.org/r/43975/diff/
> 
> 
> Testing
> -------
> 
> Fixed the broken functional test for IndexElemArray.
> Added new test to reproduce the issue. And validate the fix.
> 
> 
> Thanks,
> 
> anilkumar gingade
> 
>


Re: Review Request 43975: Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

Posted by anilkumar gingade <ag...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43975/
-----------------------------------------------------------

(Updated Feb. 25, 2016, 1:49 a.m.)


Review request for geode, Barry Oglesby, Jason Huynh, William Markito, Dan Smith, and xiaojian zhou.


Repository: geode


Description (updated)
-------

Fix for GEODE-106 Invalidate operation fails with IndexMaintenanceException with underlying java.lang.ArrayIndexOutOfBoundsException.

There is a small window in remove() where the data and size are not updated atomically. 

Changes are made so that data and size are updated atomically.

Also, because of a test issue, the test "IndexElemArrayJUnitTest.java" was not invoking the functional tests. Fixed the test issue to get coverage for IndexElemArray data structure.

Added test to perform multithreaded operation to reproduce ArrayIndexOutOfBoundsException issue and validate the fix.


Diffs
-----

  geode-core/src/main/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArray.java de694a400b948c017c2c1fc518046d75cbbd3b34 
  geode-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/IndexElemArrayJUnitTest.java 8c512646ad3fd259bc28bf5f3988c990cc47df41 

Diff: https://reviews.apache.org/r/43975/diff/


Testing
-------

Fixed the broken functional test for IndexElemArray.
Added new test to reproduce the issue. And validate the fix.


Thanks,

anilkumar gingade