Hi All,

We write a bridge information in config DS and reading the same in next few 
lines of code. (used 3 node cluster setup).

write operation is performed via 
org.opendaylight.netvirt.utils.mdsal.utils.MdsalUtils::put call and read is 
performed via
MdsalUtils::read call.

Observed that in MdsalUtils::put call ‘future.checkedGet()’ returns true 
immediately but when verified the data in config DS right after ‘return true’ 
assuming that data is written to config DS but found value is not present in DS.

What is the problem and Is there any way to encounter this problem. Please let 
us know.

Please find the below responses for the same query from Sam and Vishal.


Thanks,
Hari


From: Vishal Thapar [mailto:vishal.tha...@ericsson.com]
Sent: Wednesday, February 22, 2017 10:50 AM
To: N Vivekanandan 
<n.vivekanan...@ericsson.com<mailto:n.vivekanan...@ericsson.com>>; Sam Hague 
<sha...@redhat.com<mailto:sha...@redhat.com>>; Hari Prasad 
<hari...@hcl.com<mailto:hari...@hcl.com>>
Cc: 
netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>
Subject: RE: [netvirt-dev] Delay in reading data from Config DS after a write

Hi Vivek,

Someone from Clustering can answer it better, but it basically boils down to 
what constitutes a successful write in any cluster setup. Does write return 
success when data is queued to leader node, written on leader node or 
replicated throughout cluster? When does read return data, if its present on 
leader or replicated across cluster? Read consistency and write consistency in 
a cluster can be configured differently and based on network conditions it is 
possible for data to be not available for read after a successful write.

Regards,
Vishal.


From: N Vivekanandan
Sent: 22 February 2017 10:24
To: Vishal Thapar 
<vishal.tha...@ericsson.com<mailto:vishal.tha...@ericsson.com>>; Sam Hague 
<sha...@redhat.com<mailto:sha...@redhat.com>>; Hari Prasad 
<hari...@hcl.com<mailto:hari...@hcl.com>>
Cc: 
netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>
Subject: RE: [netvirt-dev] Delay in reading data from Config DS after a write

Hi Vishal,

The checkedFutures.get() is used extensively in many places.

Regardless of 3-nodes setups and distribution of shards , It is expected that 
the checkedGet() returns only after the write to the respective datastore has 
succeeded.

If that is not so,  we would like to know why?

--
Thanks,

Vivek

From: 
netvirt-dev-boun...@lists.opendaylight.org<mailto:netvirt-dev-boun...@lists.opendaylight.org>
 [mailto:netvirt-dev-boun...@lists.opendaylight.org] On Behalf Of Vishal Thapar
Sent: Wednesday, February 22, 2017 10:17 AM
To: Sam Hague <sha...@redhat.com<mailto:sha...@redhat.com>>; Hari Prasad 
<hari...@hcl.com<mailto:hari...@hcl.com>>
Cc: 
netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>
Subject: Re: [netvirt-dev] Delay in reading data from Config DS after a write

Hi Hari,

As Sam pointed out data can take time to reflect in DataStore in a clustere 
setup if you do a write from one of the follower nodes of that shard. Since 
this is cluster setup, what about the code that is doing the write? Is it 
chcking for leadership before writing or doing write on each node [shouldn’t]? 
If it is checking for leadership, what is the entity used with EoS?

Regards,
Vishal.

From: 
netvirt-dev-boun...@lists.opendaylight.org<mailto:netvirt-dev-boun...@lists.opendaylight.org>
 [mailto:netvirt-dev-boun...@lists.opendaylight.org] On Behalf Of Sam Hague
Sent: 21 February 2017 20:45
To: Hari Prasad <hari...@hcl.com<mailto:hari...@hcl.com>>
Cc: 
netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>
Subject: Re: [netvirt-dev] Delay in reading data from Config DS after a write



On Tue, Feb 21, 2017 at 7:50 AM, Hari Prasad 
<hari...@hcl.com<mailto:hari...@hcl.com>> wrote:
Hi All,

We write a bridge information in config DS and reading the same in next few 
lines of code

write operation is performed via 
org.opendaylight.netvirt.utils.mdsal.utils.MdsalUtils::put call and read is 
performed via
MdsalUtils::read call.

Observed that in MdsalUtils::put call ‘future.checkedGet()’ returns true 
immediately but when verified the data in config DS right after ‘return true’ 
assuming that data is written to config DS but found value is not present in DS.
Hari, is this a 3node setup? Can you also check if the checkedGet is really 
called? I think in the 3node setup ovsdb southbound fakes out the writes - 
checks ownership and if false just returns true. eventually the owner node will 
write the same data.

What is the problem and Is there any way to encounter this problem. Please let 
us know

Thanks,
Hari



::DISCLAIMER::
----------------------------------------------------------------------------------------------------------------------------------------------------
The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
E-mail transmission is not guaranteed to be secure or error-free as information 
could be intercepted, corrupted,
lost, destroyed, arrive late or incomplete, or may contain viruses in 
transmission. The e mail and its contents
(with or without referred errors) shall therefore not attach any liability on 
the originator or HCL or its affiliates.
Views or opinions, if any, presented in this email are solely those of the 
author and may not necessarily reflect the
views or opinions of HCL or its affiliates. Any form of reproduction, 
dissemination, copying, disclosure, modification,
distribution and / or publication of this message without the prior written 
consent of authorized representative of
HCL is strictly prohibited. If you have received this email in error please 
delete it and notify the sender immediately.
Before opening any email and/or attachments, please check them for viruses and 
other defects.
----------------------------------------------------------------------------------------------------------------------------------------------------

_______________________________________________
netvirt-dev mailing list
netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>
https://lists.opendaylight.org/mailman/listinfo/netvirt-dev

_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to