You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Michael Dürig <mi...@gmail.com> on 2011/11/24 23:50:38 UTC
[jr3 Microkernel] NPE on conflicting commits
There is another case where conflicting commits cause an NPE. This time
its a conflict between add and remove. See testcase in forwarded commit
message.
Michael
-------- Original Message --------
Subject: svn commit: r1206008 -
/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
Date: Thu, 24 Nov 2011 22:45:33 -0000
From: mduerig@apache.org
Reply-To: dev@jackrabbit.apache.org
To: commits@jackrabbit.apache.org
Author: mduerig
Date: Thu Nov 24 22:45:32 2011
New Revision: 1206008
URL: http://svn.apache.org/viewvc?rev=1206008&view=rev
Log:
Microkernel based Jackrabbit prototype (WIP)
add test case for pathological add delete conflict
Modified:
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
Modified:
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1206008&r1=1206007&r2=1206008&view=diff
==============================================================================
---
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
(original)
+++
jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
Thu Nov 24 22:45:32 2011
@@ -196,6 +196,27 @@ public class MicrokernelTest {
@Test
@Ignore
// todo fix microkernel
+ public void conflictingAddDelete() {
+ MicroKernel mk = getMicroKernel();
+ String head = mk.getHeadRevision();
+
+ head = mk.commit("/", "+\"a\" : {} \r+\"b\" : {}\n", head, "");
+
+ String r1 = mk.commit("/", "-\"b\" \r +\"a/x\" : {}", head, "");
+ assertFalse(mk.nodeExists("/b", r1));
+ assertTrue(mk.nodeExists("/a", r1));
+ assertTrue(mk.nodeExists("/a/x", r1));
+
+ String r2 = mk.commit("/", "-\"a\" \r +\"b/x\" : {}", head, "");
+ // todo not really sure what the result should be. Currently
this throws a NPE...
+// assertFalse(mk.nodeExists("/a", r2));
+// assertTrue(mk.nodeExists("/b", r2));
+// assertTrue(mk.nodeExists("/b/x", r2));
+ }
+
+ @Test
+ @Ignore
+ // todo fix microkernel
public void reorderNode() {
MicroKernel mk = getMicroKernel();
String head = mk.getHeadRevision();
Re: [jr3 Microkernel] NPE on conflicting commits
Posted by Michael Dürig <md...@apache.org>.
Works great, thanks.
Michael
On 25.11.11 14:17, Stefan Guggisberg wrote:
> fixed in svn r1206183.
>
> thanks
> stefan
>
> On Fri, Nov 25, 2011 at 11:29 AM, Stefan Guggisberg<st...@apache.org> wrote:
>> On Thu, Nov 24, 2011 at 11:50 PM, Michael Dürig<mi...@gmail.com> wrote:
>>>
>>> There is another case where conflicting commits cause an NPE. This time its
>>> a conflict between add and remove. See testcase in forwarded commit message.
>>
>> thanks, i'll have a look.
>>
>> cheers
>> stefan
>>
>>>
>>> Michael
>>>
>>> -------- Original Message --------
>>> Subject: svn commit: r1206008 -
>>> /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>> Date: Thu, 24 Nov 2011 22:45:33 -0000
>>> From: mduerig@apache.org
>>> Reply-To: dev@jackrabbit.apache.org
>>> To: commits@jackrabbit.apache.org
>>>
>>> Author: mduerig
>>> Date: Thu Nov 24 22:45:32 2011
>>> New Revision: 1206008
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1206008&view=rev
>>> Log:
>>> Microkernel based Jackrabbit prototype (WIP)
>>> add test case for pathological add delete conflict
>>>
>>> Modified:
>>>
>>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>>
>>> Modified:
>>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>> URL:
>>> http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1206008&r1=1206007&r2=1206008&view=diff
>>> ==============================================================================
>>> ---
>>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>> (original)
>>> +++
>>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>> Thu Nov 24 22:45:32 2011
>>> @@ -196,6 +196,27 @@ public class MicrokernelTest {
>>> @Test
>>> @Ignore
>>> // todo fix microkernel
>>> + public void conflictingAddDelete() {
>>> + MicroKernel mk = getMicroKernel();
>>> + String head = mk.getHeadRevision();
>>> +
>>> + head = mk.commit("/", "+\"a\" : {} \r+\"b\" : {}\n", head, "");
>>> +
>>> + String r1 = mk.commit("/", "-\"b\" \r +\"a/x\" : {}", head, "");
>>> + assertFalse(mk.nodeExists("/b", r1));
>>> + assertTrue(mk.nodeExists("/a", r1));
>>> + assertTrue(mk.nodeExists("/a/x", r1));
>>> +
>>> + String r2 = mk.commit("/", "-\"a\" \r +\"b/x\" : {}", head, "");
>>> + // todo not really sure what the result should be. Currently this
>>> throws a NPE...
>>> +// assertFalse(mk.nodeExists("/a", r2));
>>> +// assertTrue(mk.nodeExists("/b", r2));
>>> +// assertTrue(mk.nodeExists("/b/x", r2));
>>> + }
>>> +
>>> + @Test
>>> + @Ignore
>>> + // todo fix microkernel
>>> public void reorderNode() {
>>> MicroKernel mk = getMicroKernel();
>>> String head = mk.getHeadRevision();
>>>
>>>
>>>
>>
Re: [jr3 Microkernel] NPE on conflicting commits
Posted by Stefan Guggisberg <st...@apache.org>.
fixed in svn r1206183.
thanks
stefan
On Fri, Nov 25, 2011 at 11:29 AM, Stefan Guggisberg <st...@apache.org> wrote:
> On Thu, Nov 24, 2011 at 11:50 PM, Michael Dürig <mi...@gmail.com> wrote:
>>
>> There is another case where conflicting commits cause an NPE. This time its
>> a conflict between add and remove. See testcase in forwarded commit message.
>
> thanks, i'll have a look.
>
> cheers
> stefan
>
>>
>> Michael
>>
>> -------- Original Message --------
>> Subject: svn commit: r1206008 -
>> /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>> Date: Thu, 24 Nov 2011 22:45:33 -0000
>> From: mduerig@apache.org
>> Reply-To: dev@jackrabbit.apache.org
>> To: commits@jackrabbit.apache.org
>>
>> Author: mduerig
>> Date: Thu Nov 24 22:45:32 2011
>> New Revision: 1206008
>>
>> URL: http://svn.apache.org/viewvc?rev=1206008&view=rev
>> Log:
>> Microkernel based Jackrabbit prototype (WIP)
>> add test case for pathological add delete conflict
>>
>> Modified:
>>
>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>>
>> Modified:
>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>> URL:
>> http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1206008&r1=1206007&r2=1206008&view=diff
>> ==============================================================================
>> ---
>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>> (original)
>> +++
>> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>> Thu Nov 24 22:45:32 2011
>> @@ -196,6 +196,27 @@ public class MicrokernelTest {
>> @Test
>> @Ignore
>> // todo fix microkernel
>> + public void conflictingAddDelete() {
>> + MicroKernel mk = getMicroKernel();
>> + String head = mk.getHeadRevision();
>> +
>> + head = mk.commit("/", "+\"a\" : {} \r+\"b\" : {}\n", head, "");
>> +
>> + String r1 = mk.commit("/", "-\"b\" \r +\"a/x\" : {}", head, "");
>> + assertFalse(mk.nodeExists("/b", r1));
>> + assertTrue(mk.nodeExists("/a", r1));
>> + assertTrue(mk.nodeExists("/a/x", r1));
>> +
>> + String r2 = mk.commit("/", "-\"a\" \r +\"b/x\" : {}", head, "");
>> + // todo not really sure what the result should be. Currently this
>> throws a NPE...
>> +// assertFalse(mk.nodeExists("/a", r2));
>> +// assertTrue(mk.nodeExists("/b", r2));
>> +// assertTrue(mk.nodeExists("/b/x", r2));
>> + }
>> +
>> + @Test
>> + @Ignore
>> + // todo fix microkernel
>> public void reorderNode() {
>> MicroKernel mk = getMicroKernel();
>> String head = mk.getHeadRevision();
>>
>>
>>
>
Re: [jr3 Microkernel] NPE on conflicting commits
Posted by Stefan Guggisberg <st...@apache.org>.
On Thu, Nov 24, 2011 at 11:50 PM, Michael Dürig <mi...@gmail.com> wrote:
>
> There is another case where conflicting commits cause an NPE. This time its
> a conflict between add and remove. See testcase in forwarded commit message.
thanks, i'll have a look.
cheers
stefan
>
> Michael
>
> -------- Original Message --------
> Subject: svn commit: r1206008 -
> /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
> Date: Thu, 24 Nov 2011 22:45:33 -0000
> From: mduerig@apache.org
> Reply-To: dev@jackrabbit.apache.org
> To: commits@jackrabbit.apache.org
>
> Author: mduerig
> Date: Thu Nov 24 22:45:32 2011
> New Revision: 1206008
>
> URL: http://svn.apache.org/viewvc?rev=1206008&view=rev
> Log:
> Microkernel based Jackrabbit prototype (WIP)
> add test case for pathological add delete conflict
>
> Modified:
>
> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
>
> Modified:
> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
> URL:
> http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java?rev=1206008&r1=1206007&r2=1206008&view=diff
> ==============================================================================
> ---
> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
> (original)
> +++
> jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/test/java/org/apache/jackrabbit/spi2microkernel/MicrokernelTest.java
> Thu Nov 24 22:45:32 2011
> @@ -196,6 +196,27 @@ public class MicrokernelTest {
> @Test
> @Ignore
> // todo fix microkernel
> + public void conflictingAddDelete() {
> + MicroKernel mk = getMicroKernel();
> + String head = mk.getHeadRevision();
> +
> + head = mk.commit("/", "+\"a\" : {} \r+\"b\" : {}\n", head, "");
> +
> + String r1 = mk.commit("/", "-\"b\" \r +\"a/x\" : {}", head, "");
> + assertFalse(mk.nodeExists("/b", r1));
> + assertTrue(mk.nodeExists("/a", r1));
> + assertTrue(mk.nodeExists("/a/x", r1));
> +
> + String r2 = mk.commit("/", "-\"a\" \r +\"b/x\" : {}", head, "");
> + // todo not really sure what the result should be. Currently this
> throws a NPE...
> +// assertFalse(mk.nodeExists("/a", r2));
> +// assertTrue(mk.nodeExists("/b", r2));
> +// assertTrue(mk.nodeExists("/b/x", r2));
> + }
> +
> + @Test
> + @Ignore
> + // todo fix microkernel
> public void reorderNode() {
> MicroKernel mk = getMicroKernel();
> String head = mk.getHeadRevision();
>
>
>