[ONOS-4663] [ONOS-4664] ST defect fixes in session establishment/sync

Change-Id: I0bdb4ad08295fe30c488e9170923847112fab647
diff --git a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java b/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
index b7dbfda..cb40ea0 100644
--- a/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
+++ b/protocols/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
@@ -236,8 +236,10 @@
                 ListIterator<PcepStateReport> listIterator = ((PcepReportMsg) msg).getStateReportList().listIterator();
                 while (listIterator.hasNext()) {
                     PcepStateReport stateRpt = listIterator.next();
-                    if (stateRpt.getLspObject().getSFlag()) {
+                    PcepLspObject lspObj = stateRpt.getLspObject();
+                    if (lspObj.getSFlag()) {
                         if (pc.lspDbSyncStatus() != PcepSyncStatus.IN_SYNC) {
+                            log.debug("LSP DB sync started for PCC {}", pc.getPccId().id().toString());
                             // Initialize LSP DB sync and temporary cache.
                             pc.setLspDbSyncStatus(PcepSyncStatus.IN_SYNC);
                             pc.initializeSyncMsgList(pccId);
@@ -247,13 +249,16 @@
 
                         // Don't send to provider as of now.
                         continue;
-                    } else {
-                        if (pc.lspDbSyncStatus() == PcepSyncStatus.IN_SYNC) {
+                    } else if (lspObj.getPlspId() == 0) {
+                        if (pc.lspDbSyncStatus() == PcepSyncStatus.IN_SYNC
+                                || pc.lspDbSyncStatus() == PcepSyncStatus.NOT_SYNCED) {
                             // Set end of LSPDB sync.
+                            log.debug("LSP DB sync completed for PCC {}", pc.getPccId().id().toString());
                             pc.setLspDbSyncStatus(PcepSyncStatus.SYNCED);
 
                             // Call packet provider to initiate label DB sync (only if PCECC capable).
                             if (pc.capability().pceccCapability()) {
+                                log.debug("Trigger label DB sync for PCC {}", pc.getPccId().id().toString());
                                 pc.setLabelDbSyncStatus(IN_SYNC);
                                 for (PcepPacketListener l : pcepPacketListener) {
                                     l.sendPacketIn(pccId);