Edgewall Software
Modify

Ticket #1892 (closed enhancement: fixed)

Opened 7 years ago

Last modified 5 years ago

No feedback during "Indexing repository" phase of environment initialization

Reported by: clepple+trac@… Owned by: cboos
Priority: normal Milestone: 0.10.4
Component: admin/console Version: 0.9.3
Severity: normal Keywords: resync
Cc:
Release Notes:
API Changes:

Description

If possible, it would be nice to have some sort of feedback during the environment initialization phase. For instance, you could have a background thread that occasionally prints the revision that is currently being indexed, then goes back to sleep for a certain amount of time (rather than simply printing every revision as it is encountered, and thus slowing down the indexing operation). Or it could print status after every 100 commits.

Attachments

Change History

comment:1 Changed 7 years ago by cmlenz

  • Component changed from general to trac-admin
  • Owner changed from jonas to daniel
  • Priority changed from normal to lowest

comment:2 Changed 6 years ago by Steve Milner

  • Priority changed from lowest to low
  • Version changed from 0.8.4 to 0.9.3

This still happens in the 0.9.3. While it isn't a killer it's hard to tell if it is hung or doing something.

comment:3 Changed 5 years ago by cboos

  • Keywords resync added
  • Milestone set to 0.10.4
  • Owner changed from daniel to cboos
  • Status changed from new to assigned

This is even more useful now that the resync is committing after each revision sync (more robust, but also much slower).

A few "." printed after every commit or every 10 commits would be adequate, I think.

comment:4 Changed 5 years ago by cboos

  • Milestone changed from 0.10.4 to 0.12
  • Priority changed from low to normal

Well, I couldn't find a clean way to get this information out without modifying the versioncontrol API, so this will have to wait 0.12.

comment:5 Changed 5 years ago by cboos

  • Milestone changed from 0.12 to 0.10.4

Now that sync() is called explicitly by trac-admin, this can be done easily.

comment:6 Changed 5 years ago by cboos

  • Resolution set to fixed
  • Status changed from assigned to closed

Implemented in r5138 (trunk) and r5139 (0.10-stable).

Note that this changes the signature of the Repository.sync() recently introduced in the VC API (see #5014).

comment:7 Changed 5 years ago by mgood

  • Resolution fixed deleted
  • Status changed from closed to reopened

This change is not backwards compatible with existing VC plugins and needs reverted, at least on the 0.10-stable branch. See for example the Trac+Darcs plugin: http://progetti.arstecnica.it/trac%2Bdarcs/browser/tracdarcs/repository.py#L217

comment:8 follow-ups: Changed 5 years ago by cboos

Well, you can bring the topic on the trac-dev mailing list if you want, but sync() is only officially documented since 0.10.4, so there's no breakage here (see #5014).

If we really want to support the old API, then the change must be completed in order to check for the arity of the sync() method.

comment:9 in reply to: ↑ 8 Changed 5 years ago by cboos

Follow-up to comment:8

If we really want to support the old API, then the change must be completed in order to check for the arity of the sync() method.

OK, turns out to be not a big deal, even useful considering that sync() was not documented and that we're now explicitly calling it. I'll do the same for the sync_changeset recently introduced as well.

comment:10 in reply to: ↑ 8 Changed 5 years ago by mgood

Replying to cboos:

Well, you can bring the topic on the trac-dev mailing list if you want, but sync() is only officially documented since 0.10.4, so there's no breakage here (see #5014).

Well, despite being undocumented the method was still required. Trac assumed that repository connectors would all use the CachedRepository object which provided this method, which was not really a safe assumption.

If we really want to support the old API, then the change must be completed in order to check for the arity of the sync() method.

Ok. I'd also prefer to rename it to "rev_callback" to make its purpose more clear.

comment:11 Changed 5 years ago by cboos

  • Resolution set to fixed
  • Status changed from reopened to closed

Matt's concerns hopefully addressed in r5144.

I raised a NotImplemented error so that a trac-admin resync <rev> will explicitly fail instead of succeeding with a "<rev> resynced." message that would be erroneous.

For the ultimate Repository.sync API documentation, let's discuss that on #5014...

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
to The owner will be changed from cboos. Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.