[
https://issues.apache.org/jira/browse/SOLR-18335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olivier Boudet updated SOLR-18335:
----------------------------------
Description:
When executing a {{SPLITSHARD}} operation on a collection configured with a
custom routing field ({{{}router.field{}}} in {{{}compositeId{}}}), the
operation completes almost instantly with {{status: 0}} (success), but existing
documents are *not copied/migrated* into the new sub-shards.
As a result:
# New sub-shards are created and set to {{{}active{}}}, but remain empty (0
documents).
# Parent shards are marked as {{inactive}} with all original documents still
residing in them, making these documents unsearchable.
# Sub-shards only receive newly indexed documents after the split.
*Note:* If the collection relies on the default {{id}} field using a prefixed
syntax ({{{}company_id!doc_id{}}}), {{SPLITSHARD}} works as expected and
documents are properly split. The issue only occurs when relying explicitly on
a custom {{router.field}} setting.
h3. Steps to Reproduce
# Create a collection using {{compositeId}} routing with a custom
{{{}router.field{}}}:
- Collection setting: "router":\{"name":"compositeId", "field":"company_id"}
- Schema field definition: <field name="company_id" type="plong" indexed="true"
stored="true"/>{{{}{}}}
# Index sample documents into the collection
# Execute a {{SPLITSHARD}} command on one of the active shards
# Query the collection ({{{}q={*}:{*}{}}})
h3. Expected Result
The parent shard's documents should be properly split and re-indexed into the
new sub-shards according to their hash ranges, making all pre-existing
documents searchable in the active sub-shards.
h3. Actual Result
The {{SPLITSHARD}} command returns {{status: 0}} in milliseconds, but the
sub-shards contain 0 documents. The existing documents remain stuck in the
{{inactive}} parent shard and are no longer returned in search results.
h3. Minimal Reproducer
A minimal reproduction repository (with minimal schema and execution commands)
is available here:
[https://github.com/olivierboudet/solr-splitshard-test/tree/main]
was:
When executing a {{SPLITSHARD}} operation on a collection configured with a
custom routing field ({{{}router.field{}}} in {{{}compositeId{}}}), the
operation completes almost instantly with {{status: 0}} (success), but existing
documents are *not copied/migrated* into the new sub-shards.
As a result:
# New sub-shards are created and set to {{{}active{}}}, but remain empty (0
documents).
# Parent shards are marked as {{inactive}} with all original documents still
residing in them, making these documents unsearchable.
# Sub-shards only receive newly indexed documents after the split.
*Note:* If the collection relies on the default {{id}} field using a prefixed
syntax ({{{}company_id!doc_id{}}}), {{SPLITSHARD}} works as expected and
documents are properly split. The issue only occurs when relying explicitly on
a custom {{router.field}} setting.
h3. Steps to Reproduce
# Create a collection using {{compositeId}} routing with a custom
{{{}router.field{}}}:
** Collection setting: {{"router":\{"name":"compositeId",
"field":"company_id"}}}
** Schema field definition: {{<field name="company_id" type="plong"
indexed="true" stored="true"/>}}
# Index sample documents into the collection
# Execute a {{SPLITSHARD}} command on one of the active shards
# Query the collection ({{{}q=*:*{}}})
h3. Expected Result
The parent shard's documents should be properly split and re-indexed into the
new sub-shards according to their hash ranges, making all pre-existing
documents searchable in the active sub-shards.
h3. Actual Result
The {{SPLITSHARD}} command returns {{status: 0}} in milliseconds, but the
sub-shards contain 0 documents. The existing documents remain stuck in the
{{inactive}} parent shard and are no longer returned in search results.
h3. Minimal Reproducer
A minimal reproduction repository (with minimal schema and execution commands)
is available here:
[https://github.com/olivierboudet/solr-splitshard-test/tree/main]
> SPLITSHARD fails to migrate existing documents when using custom router.field
> with compositeId
> ----------------------------------------------------------------------------------------------
>
> Key: SOLR-18335
> URL: https://issues.apache.org/jira/browse/SOLR-18335
> Project: Solr
> Issue Type: Bug
> Components: SolrCloud
> Affects Versions: 10.0
> Reporter: Olivier Boudet
> Priority: Major
>
> When executing a {{SPLITSHARD}} operation on a collection configured with a
> custom routing field ({{{}router.field{}}} in {{{}compositeId{}}}), the
> operation completes almost instantly with {{status: 0}} (success), but
> existing documents are *not copied/migrated* into the new sub-shards.
> As a result:
> # New sub-shards are created and set to {{{}active{}}}, but remain empty (0
> documents).
> # Parent shards are marked as {{inactive}} with all original documents still
> residing in them, making these documents unsearchable.
> # Sub-shards only receive newly indexed documents after the split.
>
> *Note:* If the collection relies on the default {{id}} field using a prefixed
> syntax ({{{}company_id!doc_id{}}}), {{SPLITSHARD}} works as expected and
> documents are properly split. The issue only occurs when relying explicitly
> on a custom {{router.field}} setting.
> h3. Steps to Reproduce
> # Create a collection using {{compositeId}} routing with a custom
> {{{}router.field{}}}:
> - Collection setting: "router":\{"name":"compositeId", "field":"company_id"}
> - Schema field definition: <field name="company_id" type="plong"
> indexed="true" stored="true"/>{{{}{}}}
> # Index sample documents into the collection
> # Execute a {{SPLITSHARD}} command on one of the active shards
> # Query the collection ({{{}q={*}:{*}{}}})
> h3. Expected Result
> The parent shard's documents should be properly split and re-indexed into the
> new sub-shards according to their hash ranges, making all pre-existing
> documents searchable in the active sub-shards.
> h3. Actual Result
> The {{SPLITSHARD}} command returns {{status: 0}} in milliseconds, but the
> sub-shards contain 0 documents. The existing documents remain stuck in the
> {{inactive}} parent shard and are no longer returned in search results.
> h3. Minimal Reproducer
> A minimal reproduction repository (with minimal schema and execution
> commands) is available here:
> [https://github.com/olivierboudet/solr-splitshard-test/tree/main]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]