Unidata / thredds

THREDDS Data Server v4.6
https://www.unidata.ucar.edu/software/tds/v4.6/index.html
265 stars 179 forks source link

Remove internal copy of bz2. #199

Open dopplershift opened 9 years ago

dopplershift commented 9 years ago

There's no good reason for us to have an internal copy of the bz2 library to maintain. Just rip it out and replace with standard external dependency.

From TDS-642 and TDS-596.

JohnLCaron commented 9 years ago

i think the main task is to make sure the use of bz2 in nexrad still works. probably simple to do, but i wasnt sure enough to fix something that was already working. unit tests anyone?

dopplershift commented 9 years ago

There's nothing special about nexrad bz2; it's just a series of directly compressed blocks of bytes along with their sizes. Any bz2 library (e.g. Python) can handle those blocks. Looking at the history of our copy, the only special thing was to modify it re-use some data structure for performance reasons--I'm pretty skeptical this is actually necessarily, or worth the pain of having an entire copy of a standard library.

dopplershift commented 9 years ago

As far as unit tests go, we already read nexrad format files as part of the tests, so we have them. If bz2 were to break, the file would fail to read. But using an external bz2 can't possibly break the correctness of the IOSP.

JohnLCaron commented 9 years ago

i agree, replace our copy of bz2 library

On Sat, Sep 19, 2015 at 9:11 PM, Ryan May notifications@github.com wrote:

As far as unit tests go, we already read nexrad format files, so we have them. If bz2 were to break, the file would fail to read. But using an external bz2 can't possibly break the correctness of the IOSP.

— Reply to this email directly or view it on GitHub https://github.com/Unidata/thredds/issues/199#issuecomment-141739480.