<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metrics-lib, branch metrics-lib-2.9.0</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.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>
<entry>
<title>Upgrade to latest metrics-base.</title>
<updated>2019-09-17T08:00:00+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-09-17T08:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=c324d11035059bd9677af120dc6471aebebf980a'/>
<id>c324d11035059bd9677af120dc6471aebebf980a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.7.0-dev.</title>
<updated>2019-09-11T14:08:16+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-09-11T14:08:16+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=7e396f01ef6de4cb3cd7e2b7fc977b4af7b97e7f'/>
<id>7e396f01ef6de4cb3cd7e2b7fc977b4af7b97e7f</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.7.0 release.</title>
<updated>2019-09-06T06:53:14+00:00</updated>
<author>
<name>Karsten Loesing</name>
<email>karsten.loesing@gmx.net</email>
</author>
<published>2019-09-06T06:53:14+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/metrics-lib.git/commit/?id=0520779255dc44d30a69a25f24f5a638ae870a6e'/>
<id>0520779255dc44d30a69a25f24f5a638ae870a6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
