You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "Natarajan, Rajeswari" <ra...@sap.com> on 2019/07/24 23:52:32 UTC
Re: [CAUTION] Re: CDCR Queues API invocation with CloudSolrclient
Please look at the below test which tests CDCR OPS Api. This has "BadApple" annotation (meaning the test fails intermittently)
https://github.com/apache/lucene-solr/blob/master/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrOpsAndBoundariesTest.java#L73
This also is because of sometimes the Cloudsolrclient gets the value and sometimes not. This OPS api also needs to talk to core. OK indeed this issue looks like a bug
Thanks,
Rajeswari
On 7/24/19, 4:18 PM, "Natarajan, Rajeswari" <ra...@sap.com> wrote:
Btw , the code is copied from solr 7.6 source code.
Thanks,
Rajeswari
On 7/24/19, 4:12 PM, "Natarajan, Rajeswari" <ra...@sap.com> wrote:
Thanks Shawn for the reply. I am not saying it is bug. I just would like to know how to get the "lastTimestamp" by invoking CluodSolrClient reliabily.
Regards,
Rajeswari
On 7/24/19, 3:14 PM, "Shawn Heisey" <ap...@elyograg.org> wrote:
On 7/24/2019 3:50 PM, Natarajan, Rajeswari wrote:
> Hi,
>
> With the below API , the QueryResponse , sometimes have the "lastTimestamp" , sometimes not.
> protected static QueryResponse getCdcrQueue(CloudSolrClient client) throws SolrServerException, IOException {
> ModifiableSolrParams params = new ModifiableSolrParams();
> params.set(CommonParams.QT, "/cdcr");
> params.set(CommonParams.ACTION, CdcrParams.QUEUES);
> return client.query(params);
> }
Side note: Setting the handler path with the qt parameter was
deprecated in Solr 3.6, which was released seven years ago. I'm
surprised it even still works.
Use a SolrQuery object instead of ModifiableSolrParams, and call its
setRequestHandler method to set the request handler.
> Invoking http://<hostname>:<port>/solr/<collectionName>/cdcr?action=QUEUES has the same issue
>
> But if invoked as http://<hostname>:<port>/solr/<coreName>/cdcr?action=QUEUES always gets the " lastTimestamp" value. Would like to know
> How to get the cdcr queues always return " lastTimestamp" value reliabily by CloudSolrClient.
This part I really have no idea about. The API documentation does say
that monitoring actions are done at the core level and control actions
are done at the collection level, so this might not be considered a bug.
Someone who knows CDCR really well will need to comment.
https://lucene.apache.org/solr/guide/8_1/cdcr-api.html
Thanks,
Shawn