-
Notifications
You must be signed in to change notification settings - Fork 791
Support ctags for historical revisions #2582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please dont use array for out param, think about something better, object reference or returning a pair or smth else
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't get why this is called bounce. I'd prefer clear or close.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"bounce" has a long usage in operations for the actions to bring down services and bring them up again immediately (or arrange that they come up on the next request).
IndexerParallelizer is an operations class that helps to coordinate the parallelization of work needed by OpenGrok, so I thought bounce() was apropos. After calling the method, the instance is ready and able to do more work (as demanded by OpenGrok test classes). I don't agree that close() or clear() is more informative.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it need to be non-static? It doesn't need any state from the enclosing class
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm what does it matter for a class with no methods or initializers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It contains unnecessary reference to the enclosing class
|
Looks like after the recent commits this is good to go. |
- Add webappCtags configuration flag, with --webappCtags switch, to indicate if the webapp is eligible to run ctags. - Add Repository.getHistoryGet() override to allow sub-classes to override to avoid a full in-memory version; and override for Git and Mercurial. - Revise BoundedBlockingObjectPool as LIFO-to-FIFO so the webapp does not start extraneous instances; Indexer switches to FIFO performance when the queue pool is emptied. - make IndexerParallelizer a lazy property of RuntimeEnvironment, and make the executors of IndexerParallelizer also lazy properties. Move the history-related executors into IndexerParallelizer so the lifecycle of all indexing/history executors are controlled in the same class.
688d00a to
e861a90
Compare
|
so let's merge |
Hello,
Please consider for integration this patch to support running ctags for historical revisions.
webappCtagsconfiguration flag, with--webappCtagsswitch, to indicate if the webapp is eligible to run ctags.Repository.getHistoryGet()override to allow sub-classes to override to avoid a full in-memory version; and override for Git and Mercurial.BoundedBlockingObjectPoolas LIFO-to-FIFO so the webapp does not start extraneousinstances; Indexer switches to FIFO performance when the queue pool is emptied.
IndexerParallelizera lazy property ofRuntimeEnvironment, and make the executors ofIndexerParallelizeralso lazy properties. Move the history-related executors intoIndexerParallelizerso the lifecycle of all indexing/history executors are controlled in the same class.Thank you.