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

Serge Huber updated UNOMI-996:
------------------------------
    Description: 
h3. Summary

When you follow the 3.0 to 4.0 migration guide on real 3.0 data, the migration 
stops almost at once with the message "no mapping found in bundles".

The guide asks you to run the migration before Unomi is started. At that point, 
Unomi has not yet loaded the parts that contain the index definitions the 
migration needs. In 3.0 these parts were loaded at boot, so the same steps 
worked.

A second problem stops the migration later. Some indices have no known 
definition, and the migration stops on them instead of handling them. Every 3.0 
cluster has one of these, the cluster node index. Clusters that saved a 
Salesforce connector configuration have another.

The goal of this ticket is that the documented steps migrate a real 3.0 data 
set to the end.

h3. Ways to explore
* Make the index definitions available to the migration command itself, rather 
than starting all Unomi services first. Unomi should not answer requests before 
the migration has finished.
* Give the cluster node index a known definition. For other unknown indices, 
copy their current definition and assign their documents to the "default" 
tenant, like other site data. Never assign them to "system", and never leave 
documents without a tenant.
* If a manual step is still needed, add it to the migration guide.

h3. How to test

Manual check: start from a Unomi 3.0.1 data set that includes the cluster node 
index and a Salesforce connector configuration. Follow the migration guide step 
by step. The migration must finish with no error.

Automated tests to add. Each must fail on the 4.0.0 release candidate and pass 
once the fix is in:
* An integration test that runs the migration with only the features installed 
at boot, exactly as the guide describes, and checks that it finishes. This is 
the main regression guard: today the test setup installs everything first, 
which hides the problem (see UNOMI-998).
* An integration test with a cluster node index and an index of an unknown type 
in the source data. The migration must finish, keep all their documents, and 
give every document the "default" tenant. No document may be left without a 
tenant, and none may go to "system".
* A unit test for the mapping lookup: a known type with no bundled file 
(cluster node) is found, and an unknown index falls back to its current 
definition instead of failing.

  was:
h3. Summary

When you follow the 3.0 to 4.0 migration guide on real 3.0 data, the migration 
stops almost at once with the message "no mapping found in bundles".

The guide asks you to run the migration before Unomi is started. At that point, 
Unomi has not yet loaded the parts that contain the index definitions the 
migration needs. In 3.0 these parts were loaded at boot, so the same steps 
worked.

A second problem stops the migration later. Some indices have no known 
definition, and the migration stops on them instead of handling them. Every 3.0 
cluster has one of these, the cluster node index. Clusters that saved a 
Salesforce connector configuration have another.

The goal of this ticket is that the documented steps migrate a real 3.0 data 
set to the end.

h3. Ways to explore
* Make the index definitions available to the migration command itself, rather 
than starting all Unomi services first. Unomi should not answer requests before 
the migration has finished.
* Give the cluster node index a known definition. For other unknown indices, 
copy their current definition and assign their documents to the "default" 
tenant, like other site data. Never assign them to "system", and never leave 
documents without a tenant.
* If a manual step is still needed, add it to the migration guide.

h3. How to test

Start from a Unomi 3.0.1 data set that includes the cluster node index and a 
Salesforce connector configuration. Follow the migration guide step by step. 
The migration must finish with no error.


> Migration from Unomi 3.0 stops before it finishes
> -------------------------------------------------
>
>                 Key: UNOMI-996
>                 URL: https://issues.apache.org/jira/browse/UNOMI-996
>             Project: Apache Unomi
>          Issue Type: Bug
>    Affects Versions: unomi-4.0.0
>            Reporter: Serge Huber
>            Priority: Blocker
>             Fix For: unomi-4.0.0
>
>
> h3. Summary
> When you follow the 3.0 to 4.0 migration guide on real 3.0 data, the 
> migration stops almost at once with the message "no mapping found in bundles".
> The guide asks you to run the migration before Unomi is started. At that 
> point, Unomi has not yet loaded the parts that contain the index definitions 
> the migration needs. In 3.0 these parts were loaded at boot, so the same 
> steps worked.
> A second problem stops the migration later. Some indices have no known 
> definition, and the migration stops on them instead of handling them. Every 
> 3.0 cluster has one of these, the cluster node index. Clusters that saved a 
> Salesforce connector configuration have another.
> The goal of this ticket is that the documented steps migrate a real 3.0 data 
> set to the end.
> h3. Ways to explore
> * Make the index definitions available to the migration command itself, 
> rather than starting all Unomi services first. Unomi should not answer 
> requests before the migration has finished.
> * Give the cluster node index a known definition. For other unknown indices, 
> copy their current definition and assign their documents to the "default" 
> tenant, like other site data. Never assign them to "system", and never leave 
> documents without a tenant.
> * If a manual step is still needed, add it to the migration guide.
> h3. How to test
> Manual check: start from a Unomi 3.0.1 data set that includes the cluster 
> node index and a Salesforce connector configuration. Follow the migration 
> guide step by step. The migration must finish with no error.
> Automated tests to add. Each must fail on the 4.0.0 release candidate and 
> pass once the fix is in:
> * An integration test that runs the migration with only the features 
> installed at boot, exactly as the guide describes, and checks that it 
> finishes. This is the main regression guard: today the test setup installs 
> everything first, which hides the problem (see UNOMI-998).
> * An integration test with a cluster node index and an index of an unknown 
> type in the source data. The migration must finish, keep all their documents, 
> and give every document the "default" tenant. No document may be left without 
> a tenant, and none may go to "system".
> * A unit test for the mapping lookup: a known type with no bundled file 
> (cluster node) is found, and an unknown index falls back to its current 
> definition instead of failing.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to