[ 
https://issues.apache.org/jira/browse/SOLR-6397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14238192#comment-14238192
 ] 

Marcelo Rodrigues commented on SOLR-6397:
-----------------------------------------

If this client instance has a "setData" method:
SolrZkClient zkClient = null;

how about including a "makepath" call in case the znode doesn't exist and 
replace the "create" call with "setData"?
else if (line.getOptionValue(CMD).equals(PUT)) {
...
zkClient.create(arglist.get(0).toString(), 
arglist.get(1).toString().getBytes("UTF-8") // replace it here

Apologies in advance for the intrusive comment, just an idea.

> zkcli script put/putfile should allow overwriting an existing znode's data
> --------------------------------------------------------------------------
>
>                 Key: SOLR-6397
>                 URL: https://issues.apache.org/jira/browse/SOLR-6397
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>            Reporter: Timothy Potter
>            Assignee: Timothy Potter
>              Labels: SolrCloud, difficulty-easy, impact-low
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> zkcli doesn't allow me to update a znode that already exists, perhaps using a 
> -f (force) flag?
> Currently, if I want to putfile for a znode that already exists, results in:
> Exception in thread "main" 
> org.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = 
> NodeExists for /clusterstate.json
>       at org.apache.zookeeper.KeeperException.create(KeeperException.java:119)
>       at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>       at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783)
>       at 
> org.apache.solr.common.cloud.SolrZkClient$6.execute(SolrZkClient.java:273)
>       at 
> org.apache.solr.common.cloud.SolrZkClient$6.execute(SolrZkClient.java:270)
>       at 
> org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:73)
>       at 
> org.apache.solr.common.cloud.SolrZkClient.create(SolrZkClient.java:270)
>       at org.apache.solr.cloud.ZkCLI.main(ZkCLI.java:268)
> The workaround is to use ZooKeeper's command-line set command with "`cat 
> <file>`"



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to