[metrics-bugs] #22695 [Metrics/metrics-lib]: descriptor file processing
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Jun 22 14:07:06 UTC 2017
#22695: descriptor file processing
---------------------------------+-----------------------------------
Reporter: iwakeh | Owner: metrics-team
Type: defect | Status: new
Priority: High | Milestone: metrics-lib 2.0.0
Component: Metrics/metrics-lib | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
---------------------------------+-----------------------------------
Description changed by iwakeh:
Old description:
> In 1.9.0 a new method `getDescrptorFile` was introduced. This actually
> can cause various problems and has some open design questions that should
> be answered in this ticket.
> (I'll attach a branch with a test demonstration part of the problem.)
>
> `DescriptorParser` has the new method (since 1.9.0):
>
> {{{
> public Iterable<Descriptor> parseDescriptors(byte[] rawDescriptorBytes,
> File descriptorFile, String fileName);
> }}}
>
> In addition to the problem demonstrated in the (to be attached) test this
> raises some questions:
>
> 1) What should be done, if `descriptorFile.getName() != fileName`?
> 2) What should be done, if `descriptorFile != null && (null == fileName
> || fileName.isEmpty())`?
> 3) What should be done, if `descriptorFile == null && null != fileName`?
> 4a) What should be done, if `descriptorFile == null && null != fileName
> && fileName.isEmpty()`?
> 4b) What should be done, if `descriptorFile == null && null == fileName`?
New description:
In 1.9.0 a new method `getDescrptorFile` was introduced. This actually
can cause various problems and has some open design questions that should
be answered in this ticket.
(I'll attach a branch with a test demonstrating part of the problem.)
`DescriptorParser` has the new method (since 1.9.0):
{{{
public Iterable<Descriptor> parseDescriptors(byte[] rawDescriptorBytes,
File descriptorFile, String fileName);
}}}
In addition to the problem demonstrated in the (to be attached) test this
raises some questions:
1) What should be done, if `descriptorFile.getName() != fileName`?
2) What should be done, if `descriptorFile != null && (null == fileName ||
fileName.isEmpty())`?
3) What should be done, if `descriptorFile == null && null != fileName`?
4a) What should be done, if `descriptorFile == null && null != fileName &&
fileName.isEmpty()`?
4b) What should be done, if `descriptorFile == null && null == fileName`?
The implementation of the solution should also have tests for each of the
possible cases.
--
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/22695#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the metrics-bugs
mailing list