You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Michael Dürig <md...@apache.org> on 2016/04/19 10:24:19 UTC

Heads up, humps ahead: merge of big patch for OAK-3348

Hi,

After weeks of testing we are finally in a position to go forward with a 
fix for OAK-3348 [1]. This is a prerequisite for the segment store 
revision gc.

The amount of changes required for this fix is quite big and there will 
still be a couple of loose ends to knot once applied. Most prominently 
there will be incompatible changes in the persistence format: previous 
segment stores *WILL NOT WORK* once this fix is applied. However fear 
not, we will come up with clean migration paths as part of this effort.

So please bear with us in the next couple of weeks should it be a bit 
bumpy. However, apart from the format change none of the changes should 
directly affect any module outside of oak-segment. Should at some point 
oak-segment be too unstable for your purposes I suggest to temporarily 
replace the snapshot dependency to oak-segment with the latest release 
version.

Please review the fix for OAK-3348 at the respective GitHub branch [2] 
if you want to get your hand dirty. I placed FIXME OAK-3348 tags where 
further work is required and will follow up with dedicated issues as 
needed. Specifically there is a couple of tests that need fixing (mostly 
related to the change in persistent format and most of them within 
oak-segment):

oak-jcr:
UpgradeTest.upgradeFrom10

oak-upgrade:
AbstractOak2OakTest.validateMigration
RepositorySidegradeTest.verifyGenericProperties

oak-segment:
FileStoreBackupTest
CompactionAndCleanupIT.compactionNoBinaryClone
CompactionAndCleanupIT.propertyRetention
SegmentGraphTest
SegmentIdFactoryTest.dataAIOOBE
SegmentNodeStoreServiceTest
SegmentSizeTest

I disabled them for now until sorted out.

Michael

[1] https://issues.apache.org/jira/browse/OAK-3348
[2] https://github.com/mduerig/jackrabbit-oak/commits/OAK-3348


Re: Heads up, humps ahead: merge of big patch for OAK-3348

Posted by Michael Dürig <md...@apache.org>.
Hi,

The main parts are in place by now. The new module oak-segment-next 
basically replaces oak-segment:

- all commits should go to oak-segment-next, we should not touch 
oak-segment any more. Please ensure to rework any patches you might have 
pending.

- most of the issues for oak-segment moved to oak-segment-next. There is 
only a couple left for the former.

- we are still working out the details of when to switch the default 
from oak-segment to oak-segment-next, migration and releasing [1]. Will 
follow up on this one once there.

Michael

[1] https://issues.apache.org/jira/browse/OAK-4243

On 20.4.16 10:49 , Michael Dürig wrote:
>
> Hi,
>
> To follow up on this, there was a change in plan. As applying the
> changes on top of the current oak-segment module would make migration
> very difficult later, we need to introduce a new module. See OAK-4243
> for details on this [1].
>
> This voids most of my heads up from below as we can stabilise our
> implementation in isolation and switch to it once we consider it ready.
>
> Michael
>
> [1] https://issues.apache.org/jira/browse/OAK-4243
>
>
> On 19.4.16 10:24 , Michael Dürig wrote:
>>
>> Hi,
>>
>> After weeks of testing we are finally in a position to go forward with a
>> fix for OAK-3348 [1]. This is a prerequisite for the segment store
>> revision gc.
>>
>> The amount of changes required for this fix is quite big and there will
>> still be a couple of loose ends to knot once applied. Most prominently
>> there will be incompatible changes in the persistence format: previous
>> segment stores *WILL NOT WORK* once this fix is applied. However fear
>> not, we will come up with clean migration paths as part of this effort.
>>
>> So please bear with us in the next couple of weeks should it be a bit
>> bumpy. However, apart from the format change none of the changes should
>> directly affect any module outside of oak-segment. Should at some point
>> oak-segment be too unstable for your purposes I suggest to temporarily
>> replace the snapshot dependency to oak-segment with the latest release
>> version.
>>
>> Please review the fix for OAK-3348 at the respective GitHub branch [2]
>> if you want to get your hand dirty. I placed FIXME OAK-3348 tags where
>> further work is required and will follow up with dedicated issues as
>> needed. Specifically there is a couple of tests that need fixing (mostly
>> related to the change in persistent format and most of them within
>> oak-segment):
>>
>> oak-jcr:
>> UpgradeTest.upgradeFrom10
>>
>> oak-upgrade:
>> AbstractOak2OakTest.validateMigration
>> RepositorySidegradeTest.verifyGenericProperties
>>
>> oak-segment:
>> FileStoreBackupTest
>> CompactionAndCleanupIT.compactionNoBinaryClone
>> CompactionAndCleanupIT.propertyRetention
>> SegmentGraphTest
>> SegmentIdFactoryTest.dataAIOOBE
>> SegmentNodeStoreServiceTest
>> SegmentSizeTest
>>
>> I disabled them for now until sorted out.
>>
>> Michael
>>
>> [1] https://issues.apache.org/jira/browse/OAK-3348
>> [2] https://github.com/mduerig/jackrabbit-oak/commits/OAK-3348
>>

Re: Heads up, humps ahead: merge of big patch for OAK-3348

Posted by Michael Dürig <md...@apache.org>.
Hi,

To follow up on this, there was a change in plan. As applying the 
changes on top of the current oak-segment module would make migration 
very difficult later, we need to introduce a new module. See OAK-4243 
for details on this [1].

This voids most of my heads up from below as we can stabilise our 
implementation in isolation and switch to it once we consider it ready.

Michael

[1] https://issues.apache.org/jira/browse/OAK-4243


On 19.4.16 10:24 , Michael Dürig wrote:
>
> Hi,
>
> After weeks of testing we are finally in a position to go forward with a
> fix for OAK-3348 [1]. This is a prerequisite for the segment store
> revision gc.
>
> The amount of changes required for this fix is quite big and there will
> still be a couple of loose ends to knot once applied. Most prominently
> there will be incompatible changes in the persistence format: previous
> segment stores *WILL NOT WORK* once this fix is applied. However fear
> not, we will come up with clean migration paths as part of this effort.
>
> So please bear with us in the next couple of weeks should it be a bit
> bumpy. However, apart from the format change none of the changes should
> directly affect any module outside of oak-segment. Should at some point
> oak-segment be too unstable for your purposes I suggest to temporarily
> replace the snapshot dependency to oak-segment with the latest release
> version.
>
> Please review the fix for OAK-3348 at the respective GitHub branch [2]
> if you want to get your hand dirty. I placed FIXME OAK-3348 tags where
> further work is required and will follow up with dedicated issues as
> needed. Specifically there is a couple of tests that need fixing (mostly
> related to the change in persistent format and most of them within
> oak-segment):
>
> oak-jcr:
> UpgradeTest.upgradeFrom10
>
> oak-upgrade:
> AbstractOak2OakTest.validateMigration
> RepositorySidegradeTest.verifyGenericProperties
>
> oak-segment:
> FileStoreBackupTest
> CompactionAndCleanupIT.compactionNoBinaryClone
> CompactionAndCleanupIT.propertyRetention
> SegmentGraphTest
> SegmentIdFactoryTest.dataAIOOBE
> SegmentNodeStoreServiceTest
> SegmentSizeTest
>
> I disabled them for now until sorted out.
>
> Michael
>
> [1] https://issues.apache.org/jira/browse/OAK-3348
> [2] https://github.com/mduerig/jackrabbit-oak/commits/OAK-3348
>