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

Kevin Liang updated SOLR-18299:
-------------------------------
    Affects Version/s: 9.8.1

> IndexFetcher fails on files of exactly a multiple of PACKET_SZ
> --------------------------------------------------------------
>
>                 Key: SOLR-18299
>                 URL: https://issues.apache.org/jira/browse/SOLR-18299
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 9.8.1
>            Reporter: Kevin Liang
>            Priority: Major
>
> +Description:+
> In Solr 9.8.1 (and likely Solr 10) cloud mode with TLOG/PULL, if a segment 
> file is exactly a multiple of PACKET_SZ (defaults to 1MB) IndexFetcher will 
> always fail to download it and hit an unexpected EOF. This will occur for 
> some time until the culprit file gets merged away, and then the cloud will 
> continue to operate as normal.
> +Impact:+
> The non-TLOG replicas will be unable to replicate any further index files and 
> will go "stale" until fixed.
> +Stack Trace:+
>  
> {code:java}
> 2026-06-28 13:57:00.443 WARN  IndexFetcher [solr9_collection shard36 
> core_node478 solr9_collection_shard36_replica_p477] ? 
> [indexFetcher-170-thread-1] - Error in fetching file: _7k9z8.cfs (downloaded 
> 1048576 of 1048576 bytes)
> java.io.EOFException: null
> at 
> org.apache.solr.common.util.FastInputStream.readFully(FastInputStream.java:178)
>  ~[solr-solrj-9.8.1.jar:9.8.1 2a113bf20593cbee7446d8130f2a68bbb6748916 - 
> cloud-user - 2025-10-01 20:57:41]
> at 
> org.apache.solr.common.util.FastInputStream.readFully(FastInputStream.java:170)
>  ~[solr-solrj-9.8.1.jar:9.8.1 2a113bf20593cbee7446d8130f2a68bbb6748916 - 
> cloud-user - 2025-10-01 20:57:41]
> at 
> org.apache.solr.handler.IndexFetcher$FileFetcher.fetchPackets(IndexFetcher.java:1845)
>  ~[solr-core-9.8.1.jar:9.8.1 2a113bf20593cbee7446d8130f2a68bbb6748916 - 
> cloud-user - 2025-10-01 20:57:41]
> {code}
>  
> A main hallmark of this issue is the java.io.EOFException, however you will 
> always see a "downloaded X of X bytes" (which should ring alarm bells that 
> something is out of place).
> +Steps to reproduce:+
> It's hard to force in a live environment, but theoretically you could fill a 
> dummy segment file with a set number of bytes and add it to the index 
> manifest. It is 100% reproducible via integration test



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to