<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metrics-lib, branch metrics-lib-2.9.1</title>
<subtitle>A Java library that fetches Tor descriptors from a variety of sources like cached descriptors and directory authorities/mirrors.</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/'/>
<entry>
<title>Prepare for 2.9.1 release.</title>
<updated>2019-11-09T11:25:11+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-11-09T11:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=6c8470a0b79a5262162898087a5aa126f366f51e'/>
<id>6c8470a0b79a5262162898087a5aa126f366f51e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore unknown fields in index.json.</title>
<updated>2019-11-09T11:24:28+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-11-09T11:20:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=fba9137499ef6255f040d134f488403cae214793'/>
<id>fba9137499ef6255f040d134f488403cae214793</id>
<content type='text'>
This is required for processing index.json files produced by CollecTor
1.13.0 or higher. We don't need those newly added fields or any other
fields added in the future. But we must not fail when fields are
added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is required for processing index.json files produced by CollecTor
1.13.0 or higher. We don't need those newly added fields or any other
fields added in the future. But we must not fail when fields are
added.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.9.0-dev.</title>
<updated>2019-11-01T08:17:42+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-11-01T08:17:42+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=8763af44465445b2257f9740d4ce341f8334eead'/>
<id>8763af44465445b2257f9740d4ce341f8334eead</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare for 2.9.0 release.</title>
<updated>2019-11-01T08:10:25+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-11-01T08:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=4bdfc62905e8e3bf7a88ef9ac7ff473ff41f366a'/>
<id>4bdfc62905e8e3bf7a88ef9ac7ff473ff41f366a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make NetworkStatusEntryImpl#parseSLine thread-safe.</title>
<updated>2019-10-31T13:57:50+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-10-24T19:29:07+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=bde697f44702c3f93cfff7953ff8f5962582e2e1'/>
<id>bde697f44702c3f93cfff7953ff8f5962582e2e1</id>
<content type='text'>
The bug was that we accessed static class members, namely the two maps
NetworkStatusEntryImpl#flagIndexes and #flagStrings, during instance
creation without synchronization. This worked just fine with a single
thread creating instances, but it breaks with multiple threads doing
that at the same time.

The fix is to keep a separate map per NetworkStatusImpl instance and
share that between all its NetworkStatusEntryImpl instances. This
doesn't save as much memory as sharing maps between all
NetworksStatusEntryImpl instances ever created, but it's a reasonable
compromise between memory and runtime efficiency. In contrast to that,
synchronizing map access would have put a major runtime performance
penalty on parsing.

Fixes #32194.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The bug was that we accessed static class members, namely the two maps
NetworkStatusEntryImpl#flagIndexes and #flagStrings, during instance
creation without synchronization. This worked just fine with a single
thread creating instances, but it breaks with multiple threads doing
that at the same time.

The fix is to keep a separate map per NetworkStatusImpl instance and
share that between all its NetworkStatusEntryImpl instances. This
doesn't save as much memory as sharing maps between all
NetworksStatusEntryImpl instances ever created, but it's a reasonable
compromise between memory and runtime efficiency. In contrast to that,
synchronizing map access would have put a major runtime performance
penalty on parsing.

Fixes #32194.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.8.0-dev.</title>
<updated>2019-10-18T07:43:10+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-10-18T07:43:10+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=02e486d16d85d037caefbd2c776d720a7074e231'/>
<id>02e486d16d85d037caefbd2c776d720a7074e231</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prepare for 2.8.0 release.</title>
<updated>2019-10-18T07:33:36+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-10-18T07:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=ee87da0f048877e33ec4a4b837bbd62bcbafb833'/>
<id>ee87da0f048877e33ec4a4b837bbd62bcbafb833</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add new BridgedbMetrics descriptor type.</title>
<updated>2019-10-18T07:27:07+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-09-18T08:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=09d7311df6c78e354fc99be34e8226772d9193b7'/>
<id>09d7311df6c78e354fc99be34e8226772d9193b7</id>
<content type='text'>
Also extend DescriptorReader#readDescriptors to support .gz-compressed
files which will be necessary to process files rsync'ed from BridgeDB.
And maybe it's useful for other purposes, too.

Implements part of #19332.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also extend DescriptorReader#readDescriptors to support .gz-compressed
files which will be necessary to process files rsync'ed from BridgeDB.
And maybe it's useful for other purposes, too.

Implements part of #19332.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upgrade to latest metrics-base.</title>
<updated>2019-10-02T12:34:41+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-10-02T12:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=8e2f67107f1e6add0db3fa209cb89c3b69f7bf06'/>
<id>8e2f67107f1e6add0db3fa209cb89c3b69f7bf06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Upgrade to latest metrics-base.</title>
<updated>2019-09-27T06:58:47+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-09-27T06:58:47+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=c1581dd8ca26798dc90ea2189ca41636b50e1e0d'/>
<id>c1581dd8ca26798dc90ea2189ca41636b50e1e0d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
