Affects Version/s: None
Fix Version/s: jackrabbit-2.14.0-h2
Processed by team:Turing
Sprint:Turing Sprint 160
The following scenario currently has a problem:
1) Add a new single valued property (say 'foo') to a jcr node that can contain residual single valued properties and residual multi-valued properties
2) Safe step (1) with session 1
3) Read in the property with session 2 and assert:
4) With session 1, remove property 'foo'
5) with session 1, add property 'foo' as multiple String
6) save session 1
7) Read in the property with session 1 and assert:
The above works.
8) Read in the property with session 2 and assert:
Above, the second assert fails.
Note that refreshing the session does not fix it. It stays broken. A delay (say thread sleep 100 ms) doesn't help either! A new session (session 3) does pass the assertions. It is really only session 2 that has a broken property definition
The above fails because the PropertyImpl in JR contains
and 'data' is the same ItemDate object. The code in there is:
the instance variable 'definition' is never reloaded once it has been loaded for some session which cause the problem