[tor-bugs] #20395 [Metrics/Library]: Add capability to handle large descriptor files
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Feb 12 21:32:25 UTC 2018
#20395: Add capability to handle large descriptor files
-----------------------------+--------------------------------
Reporter: iwakeh | Owner: karsten
Type: defect | Status: needs_revision
Priority: Medium | Milestone:
Component: Metrics/Library | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: iwakeh | Sponsor:
-----------------------------+--------------------------------
Changes (by iwakeh):
* status: needs_review => needs_revision
Comment:
Thinking for a while and looking at the proposed branch I'd say it's
finally time for an API change.
The proposed changes pretty much result in a blocking queue that knows
when no more items will be added.
Therefore, it might be very useful for clients using metrics-lib to have
`BlockingQueue<Descriptor> descriptorQueue` in `DescriptorReader`, where
they can choose if they want to call a blocking method or a timeout
method. The new `BlockingQueue` could be based on `ArrayBlockingQueue`
with the additional methods `boolean outOfDescriptors()` and `boolean
setOutOfDescriptors()`.
The queue would also facilitate more than one consumer to access the
descriptors made available instead of iterating or waiting for a list of
descriptors. Adding elements in parallel would also be made easier.
We could provide the new method `BlockingQueue<Descriptor>
descriptorQueue` while deprecating the old `Iterable<Descriptor>
readDescriptors` before removing the old method. Thus, paving the way to
faster more efficient processing on both the client's and metrics-lib's
side.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20395#comment:17>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list