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

Houston Putman resolved SOLR-16877.
-----------------------------------
      Assignee: Houston Putman
    Resolution: Fixed

> solr backup via collections api fails with NPE when config contains an empty 
> zookeeper node
> -------------------------------------------------------------------------------------------
>
>                 Key: SOLR-16877
>                 URL: https://issues.apache.org/jira/browse/SOLR-16877
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Backup/Restore
>    Affects Versions: 9.2.1
>            Reporter: Paul Blanchaert
>            Assignee: Houston Putman
>            Priority: Blocker
>              Labels: backup, collection-api
>             Fix For: 9.3
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The root cause for the backup to fail is an empty node in zookeeper (E.g. the 
> querqy request handler in solr creates an empty .data node when starting up).
> To reproduce the issue, create a new (empty) node in zk (via zkCli.sh session 
> and "create" command) under a configset of your collection and back up this 
> collection via the collections API with action=BACKUP command.
> The reason is that the byte array provided to java.io.OutputStream.write is 
> null in the case of an empty zookeeper node.
> Error:
> 2023-07-07 12:33:52.121 DEBUG (OverseerThreadFactory-17-thread-3) 
> [c:gettingstarted_20230707] o.a.s.c.b.BackupManager *Writing file 
> querqy/rewriters/.data*
> 2023-07-07 12:33:52.123 ERROR (OverseerThreadFactory-17-thread-3) 
> [c:gettingstarted_20230707] o.a.s.c.a.c.OverseerCollectionMessageHandler 
> Collection: gettingstarted_20230707 operation: backup failed => 
> java.lang.NullPointerException: Cannot read the array length because 
> "<parameter1>" is null
> at java.base/java.io.OutputStream.write(Unknown Source)
> java.lang.NullPointerException: Cannot read the array length because 
> "<parameter1>" is null
> at java.io.OutputStream.write(Unknown Source) ~[?:?]
> at 
> org.apache.solr.core.backup.BackupManager.downloadConfigToRepo(BackupManager.java:349)
>  ~[?:?]
> at 
> org.apache.solr.core.backup.BackupManager.downloadConfigDir(BackupManager.java:276)
>  ~[?:?]
> at org.apache.solr.cloud.api.collections.BackupCmd.call(BackupCmd.java:149) 
> ~[?:?]
> at 
> org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:126)
>  ~[?:?]
> at 
> org.apache.solr.cloud.OverseerTaskProcessor$Runner.run(OverseerTaskProcessor.java:566)
>  ~[?:?]
> at 
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:289)
>  ~[?:?]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
> at java.lang.Thread.run(Unknown Source) [?:?]
>  
> Note:
>  * when you create an empty file (with touch) and copy it in zookeeper (with 
> "solr zk cp"), the backup doesn't raise the error (and backup succeeds).
>  * when you create an empty node in zookeeper (via zkCli.sh session and 
> "create" command), the backup raises the same error.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to