@Override protected void initViewSynced(InternalCDOView view) { view.setSession(this); view.setLastUpdateTime(getLastUpdateTime()); }
@Override protected void initViewSynced(InternalCDOView view) { view.setSession(this); view.setLastUpdateTime(getLastUpdateTime()); }
protected boolean canProcess(Invalidation invalidation) { if (options().isPassiveUpdateEnabled()) { long previousTimeStamp = invalidation.getPreviousTimeStamp(); long lastUpdateTime = getLastUpdateTime(); return previousTimeStamp <= lastUpdateTime; // Can be smaller in replication scenarios } return unfinishedLocalCommits.size() == 1; // Ourselves }
public synchronized void reorderInvalidations(CDOCommitInfo commitInfo, InternalCDOTransaction sender, boolean clearResourcePathCache) { if (!isActive()) { return; } Invalidation invalidation = new Invalidation(commitInfo, sender, clearResourcePathCache); reorderQueue.add(invalidation); Collections.sort(reorderQueue); if (DEBUG) { IOUtil.OUT().println( CDOSessionImpl.this + " [" + getLastUpdateTime() % 10000 + "] " + commitInfo.getPreviousTimeStamp() % 10000 + " --> " + commitInfo.getTimeStamp() % 10000 + " reorderQueue=" + reorderQueue + " unfinishedLocalCommits=" + unfinishedLocalCommits); } scheduleInvalidations(); }
private long refresh(boolean enablePassiveUpdates) { Map<CDOBranch, List<InternalCDOView>> views = new HashMap<CDOBranch, List<InternalCDOView>>(); Map<CDOBranch, Map<CDOID, InternalCDORevision>> viewedRevisions = new HashMap<CDOBranch, Map<CDOID, InternalCDORevision>>(); collectViewedRevisions(views, viewedRevisions); cleanupRevisionCache(viewedRevisions); CDOSessionProtocol sessionProtocol = getSessionProtocol(); long lastUpdateTime = getLastUpdateTime(); int initialChunkSize = options().getCollectionLoadingPolicy().getInitialChunkSize(); RefreshSessionResult result = sessionProtocol.refresh(lastUpdateTime, viewedRevisions, initialChunkSize, enablePassiveUpdates); setLastUpdateTime(result.getLastUpdateTime()); registerPackageUnits(result.getPackageUnits()); for (Entry<CDOBranch, List<InternalCDOView>> entry : views.entrySet()) { CDOBranch branch = entry.getKey(); List<InternalCDOView> branchViews = entry.getValue(); processRefreshSessionResult(result, branch, branchViews, viewedRevisions); } return result.getLastUpdateTime(); }
private long refresh(boolean enablePassiveUpdates) { Map<CDOBranch, List<InternalCDOView>> views = new HashMap<CDOBranch, List<InternalCDOView>>(); Map<CDOBranch, Map<CDOID, InternalCDORevision>> viewedRevisions = new HashMap<CDOBranch, Map<CDOID, InternalCDORevision>>(); collectViewedRevisions(views, viewedRevisions); cleanupRevisionCache(viewedRevisions); CDOSessionProtocol sessionProtocol = getSessionProtocol(); long lastUpdateTime = getLastUpdateTime(); int initialChunkSize = options().getCollectionLoadingPolicy().getInitialChunkSize(); RefreshSessionResult result = sessionProtocol.refresh(lastUpdateTime, viewedRevisions, initialChunkSize, enablePassiveUpdates); setLastUpdateTime(result.getLastUpdateTime()); registerPackageUnits(result.getPackageUnits()); for (Entry<CDOBranch, List<InternalCDOView>> entry : views.entrySet()) { CDOBranch branch = entry.getKey(); List<InternalCDOView> branchViews = entry.getValue(); processRefreshSessionResult(result, branch, branchViews, viewedRevisions); } return result.getLastUpdateTime(); }
public CDOChangeSetData compareRevisions(CDOBranchPoint source, CDOBranchPoint target) { long now = getLastUpdateTime(); if (target.getTimeStamp() == CDOBranchPoint.UNSPECIFIED_DATE) { target = target.getBranch().getPoint(now); } if (source.getTimeStamp() == CDOBranchPoint.UNSPECIFIED_DATE) { source = source.getBranch().getPoint(now); } CDORevisionAvailabilityInfo targetInfo = createRevisionAvailabilityInfo2(target); CDORevisionAvailabilityInfo sourceInfo = createRevisionAvailabilityInfo2(source); Set<CDOID> ids = sessionProtocol.loadMergeData(targetInfo, sourceInfo, null, null); cacheRevisions2(targetInfo); cacheRevisions2(sourceInfo); return CDORevisionUtil.createChangeSetData(ids, sourceInfo, targetInfo); }
public CDOChangeSetData compareRevisions(CDOBranchPoint source, CDOBranchPoint target, final String... nsURIs) { long now = getLastUpdateTime(); if (target.getTimeStamp() == CDOBranchPoint.UNSPECIFIED_DATE) { target = target.getBranch().getPoint(now); } if (source.getTimeStamp() == CDOBranchPoint.UNSPECIFIED_DATE) { source = source.getBranch().getPoint(now); } CDORevisionAvailabilityInfo targetInfo = createRevisionAvailabilityInfo(target); CDORevisionAvailabilityInfo sourceInfo = createRevisionAvailabilityInfo(source); Set<CDOID> ids = sessionProtocol.loadMergeData(targetInfo, sourceInfo, null, null, nsURIs); cacheRevisions(targetInfo); cacheRevisions(sourceInfo); return CDORevisionUtil.createChangeSetData(ids, sourceInfo, targetInfo); }
long lastUpdateTime = getLastUpdateTime();