avoid the un necessary reads.
skip monitoring version column
Change-Id: I82e50b973a93c57eb65dd34c6dd624c8e47e2344
Signed-off-by: K.V Suneelu Verma <k.v.suneelu.verma@ericsson.com>
private void updateData(ReadWriteTransaction transaction, McastMacsLocal mMacLocal) {
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
- Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
- if (connection.isPresent()) {
- // Update the connection node to let it know it manages this MCastMacsLocal
- Node connectionNode = buildConnectionNode(mMacLocal);
- transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
- // TODO: Delete entries that are no longer needed
- }
+ Node connectionNode = buildConnectionNode(mMacLocal);
+ transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
}
private Node buildConnectionNode(McastMacsLocal mMacLocal) {
private void updateData(ReadWriteTransaction transaction, McastMacsRemote mMacRemote) {
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
- Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
- if (connection.isPresent()) {
- // Update the connection node to let it know it manages this MCastMacsRemote
- Node connectionNode = buildConnectionNode(mMacRemote);
- transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
- InstanceIdentifier<RemoteMcastMacs> macIid = getMacIid(connectionIId, connectionNode);
- getOvsdbConnectionInstance().getDeviceInfo().updateDeviceOperData(RemoteMcastMacs.class,
- macIid, mMacRemote.getUuid(), mMacRemote);
- // TODO: Delete entries that are no longer needed
- }
+ Node connectionNode = buildConnectionNode(mMacRemote);
+ transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
+ InstanceIdentifier<RemoteMcastMacs> macIid = getMacIid(connectionIId, connectionNode);
+ getOvsdbConnectionInstance().getDeviceInfo().updateDeviceOperData(RemoteMcastMacs.class,
+ macIid, mMacRemote.getUuid(), mMacRemote);
}
InstanceIdentifier<RemoteMcastMacs> getMacIid(InstanceIdentifier<Node> connectionIId, Node connectionNode) {
private void updatePhysicalSwitch(ReadWriteTransaction transaction, UUID uuid, PhysicalSwitch pSwitch) {
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
+ //TODO remove this read
Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
if (connection.isPresent()) {
LOG.debug("Connection {} is present", connection);
updateTunnelIps(pSwitch, oldPSwitch, transaction);
getOvsdbConnectionInstance().getDeviceInfo().putPhysicalSwitch(pSwitch.getUuid(), pSwitch);
+ getDeviceInfo().updateDeviceOperData(Node.class, psIid, pSwitch.getUuid(), pSwitch);
// TODO: Delete entries that are no longer needed
// TODO: Deletion of tunnels
// TODO: Deletion of Tunnel BFD config and params
Preconditions.checkNotNull(tunnel.getLocalColumn().getData());
Preconditions.checkNotNull(tunnel.getRemoteColumn().getData());
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
+ //TODO remove these reads
Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
PhysicalSwitch pSwitch =
getOvsdbConnectionInstance().getDeviceInfo().getPhysicalSwitchForTunnel(tunnel.getUuid());
public class HwvtepUcastMacsLocalUpdateCommand extends AbstractTransactionCommand {
private static final Logger LOG = LoggerFactory.getLogger(HwvtepUcastMacsLocalUpdateCommand.class);
- private Map<UUID, UcastMacsLocal> updatedUMacsLocalRows;
- private Map<UUID, PhysicalLocator> updatedPLocRows;
+ private final Map<UUID, UcastMacsLocal> updatedUMacsLocalRows;
+ private final Map<UUID, PhysicalLocator> updatedPLocRows;
public HwvtepUcastMacsLocalUpdateCommand(HwvtepConnectionInstance key, TableUpdates updates, DatabaseSchema dbSchema) {
super(key, updates, dbSchema);
@Override
public void execute(ReadWriteTransaction transaction) {
- updateData(transaction, updatedUMacsLocalRows.values());
+ if (updatedUMacsLocalRows != null && !updatedUMacsLocalRows.isEmpty()) {
+ updateData(transaction, updatedUMacsLocalRows.values());
+ }
}
private void updateData(ReadWriteTransaction transaction, Collection<UcastMacsLocal> ucml) {
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
- Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
- if (connection.isPresent()) {
- // Update the connection node to let it know it manages this UCastMacsLocal
- Node connectionNode = buildConnectionNode(ucml);
- transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
- // TODO: Delete entries that are no longer needed
- }
+ Node connectionNode = buildConnectionNode(ucml);
+ transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
}
private Node buildConnectionNode(final Collection<UcastMacsLocal> ucml) {
@Override
public void execute(ReadWriteTransaction transaction) {
- updateUcastMacsRemote(transaction, updatedUMacsRemoteRows.values());
+ if (updatedUMacsRemoteRows != null && !updatedUMacsRemoteRows.isEmpty()) {
+ updateUcastMacsRemote(transaction, updatedUMacsRemoteRows.values());
+ }
}
private void updateUcastMacsRemote(ReadWriteTransaction transaction, Collection<UcastMacsRemote> ucastMacsRemote) {
final InstanceIdentifier<Node> connectionIId = getOvsdbConnectionInstance().getInstanceIdentifier();
- Optional<Node> connection = HwvtepSouthboundUtil.readNode(transaction, connectionIId);
- if (connection.isPresent()) {
- Node connectionNode = buildConnectionNode(ucastMacsRemote);
- transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
- //TODO: Handle any deletes
- }
+ Node connectionNode = buildConnectionNode(ucastMacsRemote);
+ transaction.merge(LogicalDatastoreType.OPERATIONAL, connectionIId, connectionNode);
}
private Node buildConnectionNode(final Collection<UcastMacsRemote> uMacRemotes) {