You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@solr.apache.org by Bruno Roustant <br...@gmail.com> on 2022/07/04 10:31:00 UTC
MoveReplicaCmd with concurrent updates
Hi all,
I'm playing with the MoveReplicaCmd. Internally it calls addReplica and
then deleteReplica. And it seems that, if there are concurrent updates, the
call to deleteReplica makes the concurrent updates fail because they do not
find the replica at the original host.
Details:
The test moves mytest_shard1_0_replica_n5 from 127.0.0.1:61086_solr to
127.0.0.1:61084_solr.
And it fails just after the MoveReplicaCmd deletes the source replica with
the error message:
Error 404 Can not find: /solr/mytest_shard1_0_replica_n5/update
Is there a way to first route requests to the replica from the original
host to the target host, before we can delete the original replica?
Best,
Bruno
Re: MoveReplicaCmd with concurrent updates
Posted by David Smiley <ds...@apache.org>.
On Tue, Jul 5, 2022 at 10:48 AM Houston Putman <ho...@apache.org> wrote:
> That, or maybe the distributed update processor checks the state of the
> cluster on a failure and if the replica no longer exists, it acts
> accordingly.
>
That is what we're exploring.
Re: MoveReplicaCmd with concurrent updates
Posted by Houston Putman <ho...@apache.org>.
I don't think so, but it would be a wonderful addition.
That, or maybe the distributed update processor checks the state of the
cluster on a failure and if the replica no longer exists, it acts
accordingly.
- Houston
On Mon, Jul 4, 2022 at 6:33 AM Bruno Roustant <br...@gmail.com>
wrote:
> Hi all,
> I'm playing with the MoveReplicaCmd. Internally it calls addReplica and
> then deleteReplica. And it seems that, if there are concurrent updates, the
> call to deleteReplica makes the concurrent updates fail because they do not
> find the replica at the original host.
> Details:
> The test moves mytest_shard1_0_replica_n5 from 127.0.0.1:61086_solr to
> 127.0.0.1:61084_solr.
> And it fails just after the MoveReplicaCmd deletes the source replica with
> the error message:
> Error 404 Can not find: /solr/mytest_shard1_0_replica_n5/update
>
> Is there a way to first route requests to the replica from the original
> host to the target host, before we can delete the original replica?
>
> Best,
> Bruno
>