- Revision
- 11199
- Author
- vajda
- Date
- 2006-07-19 05:54:33 -0700 (Wed, 19 Jul 2006)
Log Message
- made sure commit calls inside refresh are deferred until refresh completes
- upgraded build to chandlerdb 0.6-33
- upgraded build to chandlerdb 0.6-33
Modified Paths
Diff
Modified: trunk/chandler/Makefile (11198 => 11199)
--- trunk/chandler/Makefile 2006-07-19 12:42:31 UTC (rev 11198) +++ trunk/chandler/Makefile 2006-07-19 12:54:33 UTC (rev 11199) @@ -66,7 +66,7 @@ # these get installed into release or debug ARCHIVES=$(CHANDLERARCHIVES)/Launchers-$(SNAP)-0.8-$(BP)8.tar.gz \ - $(CHANDLERARCHIVES)/chandlerdb-$(SNAP)-0.6-$(BP)32.tar.gz \ + $(CHANDLERARCHIVES)/chandlerdb-$(SNAP)-0.6-$(BP)33.tar.gz \ $(CHANDLERARCHIVES)/db-$(SNAP)-4.4.20-$(BP)5.tar.gz \ $(CHANDLERARCHIVES)/python-$(SNAP)-2.4.3-$(BP)3.tar.gz \ $(CHANDLERARCHIVES)/epydoc-$(SNAP)-2.1-$(BP)9.tar.gz \
Modified: trunk/chandler/repository/persistence/DBRepositoryView.py (11198 => 11199)
--- trunk/chandler/repository/persistence/DBRepositoryView.py 2006-07-19 12:42:31 UTC (rev 11198) +++ trunk/chandler/repository/persistence/DBRepositoryView.py 2006-07-19 12:54:33 UTC (rev 11199) @@ -327,10 +327,11 @@ if not self._status & RepositoryView.REFRESHING: try: self._status |= RepositoryView.REFRESHING + forwards = False while True: try: txnStatus = self._startTransaction(False) - self._refresh(mergeFn, version, notify) + forwards = self._refresh(mergeFn, version, notify) except DBLockDeadlockError: self.logger.info('%s retrying refresh aborted by deadlock (thread: %s)', self, currentThread().getName()) self._abortTransaction(txnStatus) @@ -346,6 +347,10 @@ return self.itsVersion finally: self._status &= ~RepositoryView.REFRESHING + if self._status & RepositoryView.COMMITREQ: + self._status &= ~RepositoryView.COMMITREQ + if forwards: + self.commit(mergeFn, notify) else: self.logger.warning('%s skipping recursive refresh', self) @@ -366,12 +371,14 @@ self._refreshForwards(mergeFn, newVersion, False) self.prune(10000) + return True elif newVersion == self.itsVersion: if notify: self.dispatchNotifications() else: self.flushNotifications() + return True else: self.cancel() @@ -380,6 +387,7 @@ self._version = newVersion self._refreshItems(unloads.__iter__) self.flushNotifications() + return False def _refreshItems(self, items): @@ -530,6 +538,8 @@ if self._status & RepositoryView.COMMITTING: self.logger.warning('%s: skipping recursive commit', self) + elif self._status & RepositoryView.REFRESHING: + self._status |= RepositoryView.COMMITREQ elif len(self._log) + len(self._deletedRegistry) > 0: try: release = False
_______________________________________________ Commits mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/commits
