wiki:WeeklyMinutes20100713

Attendees

Hankins
Shawn
Jelte
Shane
Likun
Jerry
Fujiwara
Jeremy
Stephen
Jinmei
Larissa
Evan
Michael

Action point issues (if any)

Jeremy reports his done.

Architectural issues

Receptionist model

Stephen describes his work.

Stephen suggests with asynchronous work the differences will not be so high.

Jinmei: How do these processes pass the packet?

Stephen: Straight UDP call to send()/recv() packets. There is a Boost message queue to pass between processes.

Jinmei: Did you mean BIND 10 msgq?

Stephen: I used the Boost message queue.

Jinmei: Right now I have not looked into it, but I plan to take a closer look at it.

Stephen: What is the motivation for breaking the name server down into multiple processes?

[ Shane describes the motivations - scaling and fault isolation ]

Jinmei: One of the main motivations is to run authoritative and recursive on the same machine, but not to have a single process.

Stephen: I think a receptionist would work in a recursive server. One part has cache, and if it is not there it passes it off.

Shane: We can start with that and refactor later if needed for performance.

Stephen: If nothing else, it breaks the system down into simpler parts.

Stephen: Trying to run async on my home network, but need modifications to handle packet loss.

2010-08-12 release

Writable data source + IXFR

Jelte: IXFR stuff is part of the writable data source. There has been a little discussion between Likun and me about whether this should be in the data source or the IXFR module. I think it should be in the data source because it might shortcuts specific to that data source. So I did stuff to add/remove RRSET, then moved on to IXFR, and now moving on to dynamic updates. The original did IXFR out support. I have ideas about that but we might want to move to a separate task because this is already very big. Still a lot of work on it, there is progress, certainly not done yet.


Secondary manager

Shane: Goal to have in next release?

Likun: Plan is to include in next release.

Shane: Want to make sure we have enough time for review.

Jinmei: I read document. It looked basically pretty nice. I have some minor comments but I didn't have time to write up in an e-mail style; I'll do that. Basically it looks fine.

Likun: Jerry working on implementation of this. If there any big changes in design, the plan is to finish the code in 2 weeks. I think we can have at least 1 or 2 weeks for review.

Jinmei: On a related note. I don't think we can enable incoming notify processing until we have the secondary zone manager stuff, because we cannot validate the source of the NOTIFY until then.

Likun: I think the checking should be left to the secondary manager. If auth server receives all the NOTIFY from anyone and don't do checking I think we'll mix too many messages between auth server and secondary manager. I think auth server should do some checking first.

Jinmei: I think the authoritative server needs to do some minimal checks, but I am not sure what kind of checks the authoritative server needs to do. My current impression is that it can validate the zone name to see if the server has authority for the zones. But I am not really sure if the authoritative server can realistically do checks on the addresses of the messages. But I am not sure. It is not a strong impression.

Likun: At least we should at least check for the IP in "allow-notify:" or the server is master for the zones.

Jinmei: My point at this point is that even though we have some workaround for the xfrin implementation so we can accept incoming notify, I now think we should wait for the secondary zone manager.

Likun: Maybe we can discuss on the e-mails.

All: Okay.


Recursion: algorithm

Evan: I don't expect it to take me all that long. Except for release engineering I don't have too much more to do for BIND 9.

Shane: I think it may be blocking if we wait too much longer on this...


Recursion: architecture & design

Shane: Almost ready for implementation.

Jinmei: Architecture & design sounds vague.

Evan: I think BIND 10 face-to-face is ambitious... I'd enjoy working on it, but...

Shane: Maybe we should make that the output of the next face to face meeting?

Evan: We could take the first day or two hammering out technical details, then spend the rest of the time implementing.

Shane: Can you do the cache before this?

Michael: I think the cache is the most important part of the whole process, learning from what BIND 9 has had problems with...

Jelte: I think I agree.

Evan: There are some initial design decisions that can be made. We discussed the idea of an external, shared cache vs. having each recursor having it's own cache.

Michael: I suggest just making something and getting it to work, since we'll throw it away anyway.

Evan: Maybe this is something we want to look at anyway? At least have some general idea of where we think we want to go and then design the API for that, rather than just flail something together.

Michael: You really can't design it for all the ifs/ands/possibles. If you plan too far ahead you'll end up doing busywork and throwing it away anyway.


Recursion: dispatch (BIND 9 style)?

Shane: Straightforward & unambiguous.

Michael: Anyone looking at Windows?

Shane: Stephen has been volunteered.

Jinmei: I think we are relying on many Unix-specific features like file descriptor passing. It should be better to do similar things in Windows.

Evan: We are relying on that at an abstracted level.


Recursion: benchmarking?

Shane: We need to have this.

Michael: Are you talking about calling functions or network?

Shane: I was thinking like DNS Cucumber, but with performance not functionality testing.

Hankins: We have the 3 Jinmei's... so you could put client load on one machine, recursive server on another, and then authoritative on another.

Michael: These are 8 years old now...

Jeremy: We have another new server that we got last fall.

Hankins: As long as we're interested in relative performance instead of numbers, it doesn't matter what you use.


Recursion: cache?

[ see above ]

Mascot contest status

Contest closed. Selection committee picking finalists, then open vote.

Command-line tool

Shane: Jerry Scharf doing this work. Will introduce to bind10-dev soon.

Jelte: I don't disagree having someone else doing this. Want to make sure it doesn't veer too far from what we do. We are designing a very different system from what all the others are doing.

IETF head's up

BIND 10 at BIND Forum

Shane: BIND 10 will be presented at the BIND Forum.

Larissa: Sunday night at 20:00. ISC staff should attend.

Hankins: Will the DHCP folks be invited?

Larissa: We should talk about this.

Various ISC staff there

Shane: Not sure if we will have a call during the IETF meeting. Probably!

Regular Benchmarks (authoritative)

[ Shane will send mail ]

Architectural Discussion

Evan: Jinmei's work repairing base32 and base16 encodings. I wrote from scratch using BIND 9 as a base. For base64 we used the Boost implementation. Jinmei extended this to base32 and base16. I looked and I don't know enough C++ to review. We had a high-level theoretical discussion about what to do in those circumstances.

Shane: What conclusion did you come to?

Evan: Left it hanging! Should we go into areas of C++ that we have 0 or 1 experts in? In that specific case there are probably other approaches. I think it is good to have all 3 encodings handled by the same code base. I can satisfy myself that what he is doing is probably alright, but I don't know. For example the Boost reviewers could tell him if it as good code. Is there anybody else who knows C++ templates well enough to be the reviewer.

Jinmei: There was no conclusion.

Stephen: I played around with C++ templates a bit.

Evan: Perhaps Stephen should take that on for now. I would like to know it better.

Jinmei: There are several points to discuss at various levels.

  1. How to move forward with this particular ticket? #256 If someone can review it that would be great.
  2. The other thing is high-level development process work. In this ticket we use some C++ syntax and features. Maybe someone who knows templates pretty well can review it and make comments on whether this style is reasonable or too tricky to share. Then we can discuss the acceptable level of language features. A form of coding guidelines.

Jinmei: If Stephen can do that, that would be great.

Shane: So look at the complexity too?

Jinmei: Not necessarily complexity, but language features.


Jinmei: Another small ticket, #241. C++ micro-benchmark framework. I'd like to get it reviewed. I would like to know whether this is useful or not in the first place. I'd like someone to look at the documentation and general understanding of how to use it, and then make feedback on that. If someone can look at the documentation and provide feedback whether this is useful that would be great.

Last modified 7 years ago Last modified on Jul 13, 2010, 4:16:11 PM