[bind10-dev] Quality of in-memory code
Michal 'vorner' Vaner
michal.vaner at nic.cz
Wed Nov 28 10:11:44 UTC 2012
Hello
As I had some trouble explaining my concern during the call yesterday, I'm
sending it in an email.
During the work on 2378, I decided to use the in-memory data source for some
testing. And I encountered several glitches:
• The ZoneTableSegment has ::create and ::destroy. But the InMemoryClient
accepts a shared_ptr to the zone table segment. That is incompatible.
• The ZoneTableSegment::create takes a config argument, which is ignored. It
wasn't made clear how it would look like or where would such config come from
anyway. Is the user expected to configure some kind of segments by hand? I
always thought there'd be option that would turn on the external memory
manager and that'd be it.
• The iterator has unimplemented getSOA(). What use is such iterator in
practice and why is such a trivial method unimplemented in the first place?
• The iterator was severely broken (fixed in #2378, since I needed it) ‒ it
didn't include the NSEC3 namespace at all and it didn't include RRSIGs in
separate_rrs mode.
However, my concern is _not_ about these concrete issues. I'll just create
tickets for them and they should be easy to fix. My concern is, this is quite
high amount of problems for the little part of the implementation I used.
Therefore I fear the quality of the in-memory implementation is lower than our
usual standard. I see several possibilities:
• My memory is not good enough and there's always such high amount of problems.
• We were in hurry with the implementation and the quality naturally reflected
that.
• There was some other problem with just this bit of code.
• We are getting worse in the ability to design and write code. In other words,
from now on, every new part of bind10 will have this amount of problems. This
could be because people have little idea about the design before it is split
single-handed into tasks and then are not consistent in how they think about
the general idea (what happened to our plan about design calls and
discussions?) or because there wasn't a f2f meeting for a while.
• Something else?
With regards
--
Please enter password:
Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20121128/033a980f/attachment.bin>
More information about the bind10-dev
mailing list