Closed GoogleCodeExporter closed 9 years ago
Fixed Connector Manager revision r1424
The problem was introduced with the re-achitecture of persistent
storage for Connector Manager Issue 78. The GenerationalStateStore
mechanics were rendered useless, as we never created more than one
generation. When restartConnectorTraversal was called, the current
generation was invalidated, but a new GenerationalStateStore was
never created. When the scheduler scheduled QueryTraverser.runBatch(),
It would abort because it thought its generational store was invalid.
The real problem was the creation of the GenerationalStateStore was
moved from the creation of the ConnectorInterfaces to the creation
of InstanceInfo. The challenge was to restore creating a new
GenerationalStateStore for each new QueryTraverser, but maintaining
the encapsulation of the persistent storage mechanisms within
InstanceInfo.
Change Log:
----------
A
projects/connector-manager/source/java/com/google/enterprise/connector/traversal
/TraversalStateStore.java
- A new persistent storage interface used by the Traverser.
M
projects/connector-manager/source/java/com/google/enterprise/connector/instantia
tor/InstanceInfo.java
- Provides a TraversalStateStore implementation using a
GenerationalStateStore on top of the ConnectorStateStore.
M
projects/connector-manager/source/java/com/google/enterprise/connector/instantia
tor/SpringInstantiator.java
- Supply a TraversalStateStore parameter to the ConnectorInterfaces
constructor.
M
projects/connector-manager/source/java/com/google/enterprise/connector/instantia
tor/ConnectorInterfaces.java
- Supply the TraversalStateStore rather than the Instantiator
as a parameter to the QueryTraverser constructor.
M
projects/connector-manager/source/java/com/google/enterprise/connector/traversal
/QueryTraverser.java
- Fetch the saved checkpoint via the TraversalStateStore, rather
than the Instantiator.
M
projects/connector-manager/source/java/com/google/enterprise/connector/persist/G
enerationalStateStore.java
- Fixed a issue when a GenerationalStateStore wraps another
GenerationalStateStore.
M
projects/connector-manager/source/javatests/com/google/enterprise/connector/inst
antiator/MockInstantiator.java
- Provides a TraversalStateStore implementation using a
GenerationalStateStore on top of the ConnectorStateStore.
M
projects/connector-manager/source/javatests/com/google/enterprise/connector/trav
ersal/QueryTraverserTest.java
- Support the new QueryTraverser constructor interface.
Original comment by Brett.Mi...@gmail.com
on 6 Jan 2009 at 7:56
Original comment by jl1615@gmail.com
on 12 Jan 2009 at 3:33
Original issue reported on code.google.com by
Brett.Mi...@gmail.com
on 18 Dec 2008 at 11:00