- 17 Nov, 2017 1 commit
-
-
Eric Cano authored
-
- 10 Nov, 2017 1 commit
-
-
Eric Cano authored
-
- 07 Nov, 2017 1 commit
-
-
Eric Cano authored
-
- 30 Oct, 2017 1 commit
-
-
Eric Cano authored
This led to garbage collactor segfaults.
-
- 26 Oct, 2017 1 commit
-
-
Eric Cano authored
The previous strategy was made under the assumption that we needed to lock sparingly. With the introduction of lockfree strategy, this is not true anymore. The new strategy will be immune from the A watches B, B watches A, both die, and no one garbage collects them situation (also called cyclers in utility cta-objectstore-unfollow-agent).
-
- 28 Sep, 2017 1 commit
-
-
Eric Cano authored
-
- 22 Sep, 2017 1 commit
-
-
Eric Cano authored
-
- 18 Sep, 2017 1 commit
-
-
Eric Cano authored
Work in progree: Changed layout of GenericObject::asyncLockfreeFetch so it matches the model of previous sync operations like ArchiveRequest::asyncUpdateJobOwner(). Also made the no lock management match the model of previously developped nolock operations. Removed Backend::AsyncLockfreeFetcher::wait() as get() will pass the exceptions anyway.
-
- 15 Sep, 2017 2 commits
-
-
Victor Kotlyar authored
-
Victor Kotlyar authored
the Backend.
-
- 14 Sep, 2017 1 commit
-
-
Eric Cano authored
The generic objects will then be fetched lockfree in parallel, sorted from their memory copy in the sorter, and then processed.
-
- 11 Sep, 2017 1 commit
-
-
Eric Cano authored
Increased number of processes watched by a single garbage collector to cover the case for many drive processes per server.
-
- 01 Aug, 2017 1 commit
-
-
Eric Cano authored
The appearance and disappearance of the agents is totally asynchronous for the garbage collector. For this reason, GC should tolerate deletion of object at any time. This commit fixes the case where the object disappears shortly after the garbage collector decides to watch it.
-
- 25 Jul, 2017 1 commit
-
-
Eric Cano authored
-
- 18 Jul, 2017 1 commit
-
-
Eric Cano authored
In order to be efficient, the data (tape status and queue sizes) is cached in memory. This function needed access to the catalogue (where the tape status is located). This in turn required passing the catalogue object to: - The garbage colletion functions for all object types. - The garbage collector object now keeps a reference to the catalogue. - The path to the catalogue credential file should now be passed to cta-objectstore-collect-orphaned-object - The OStoreDB also needs a reference to the catalogue in order to queue retrive requests. The garbage collection member function are now also being passed a log context, so the requirement for better log of object fate can also be fulfilled later. This in turn required the passing of a logger object to the object store and relative helper classes. Finally, a dummy catalogue class has been created to be used in unit tests.
-
- 14 Jul, 2017 1 commit
-
-
Eric Cano authored
-
- 06 Jul, 2017 1 commit
-
-
Eric Cano authored
Implemented GarbageCollector::reinjectOwnedObject() and called it on garbage collector shutdown. This fixes the issue of non-empty garbage collectors exiting.
-
- 20 Jun, 2017 1 commit
-
-
Eric Cano authored
This required to pass an AgentReference through to all garbageCollect() member functions of all objects. The changed behavior required adaptation of the corresponding unit test (the archive queues now need to be properly referenced in the root entry).
-
- 23 May, 2017 1 commit
-
-
Eric Cano authored
This uncovered several failures to fetch again after relocking objects in unit tests (fixed as well).
-
- 12 Apr, 2017 2 commits
-
-
Eric Cano authored
Implemented Agent::garbageCollect() Made AgentWatchdog fetch the timout from the agent object. Fixed unconditional time tounter reset in AgentWatchdog::checkAlive() Fixed missing log for garbageCollection. Added utility (cta-objectstore-unfollow-agent) to mark agents as not followed when they get orphaned. This utility detects looping ownerships (two garbage coolectors watch each other and both die synchronously). This utility is not packaged. Various log improvements.
-
Eric Cano authored
Added missing garbage collection for all object types. Added logging to AgentHeartbeat. Some object types still miss garbage collection implementation.
-
- 04 Apr, 2017 1 commit
-
-
Eric Cano authored
Also made garbage collection faster.
-
- 30 Mar, 2017 1 commit
-
-
Eric Cano authored
Also removed the heartbeat from the GC's main functions (it is now handled in a separate thread).
-
- 22 Jun, 2016 1 commit
-
-
Eric Cano authored
Removed deprecated structures from archiveNS and nameserver namespaces. Removed RetrieveToFileRequest.
-
- 02 Jul, 2015 1 commit
-
-
Eric Cano authored
Changed the interface of the per-object garbage collection to add the address of the agent pointing to it. This permits finer grained garbage collection.
-
- 08 Jun, 2015 1 commit
-
-
Eric Cano authored
-
- 05 Jun, 2015 1 commit
-
-
Eric Cano authored
The agent now carries its own timeout (defaulting to 60s). The unit test now validates that the 2 agents were cleared from the agent register.
-
- 04 Jun, 2015 1 commit
-
-
Eric Cano authored
Added support and unit test for object creating calls in RootEntry (DriveRegister, TapePool, AgentRegister)
-
- 03 Jun, 2015 1 commit
-
-
Eric Cano authored
Added support for creation of tape pools and agent register and created a unit test for agent register creation.
-
- 02 Jun, 2015 1 commit
-
-
Eric Cano authored
Renamed the setName/GetName functions to the more appropriate getAddress/setAddress.
-
- 27 May, 2015 1 commit
-
-
Eric Cano authored
Created a richer protocol buffer RootEntry object and created a parital implementation to allow unit tests to run.
-
- 08 May, 2015 1 commit
-
-
Steven Murray authored
License comment is no longer filtered out by doxygen when generating web pages of the individual source files.
-
- 07 May, 2015 1 commit
-
-
Steven Murray authored
-
- 02 Mar, 2015 1 commit
-
-
Eric Cano authored
-
- 27 Feb, 2015 2 commits