Changes between Initial Version and Version 1 of WeeklyMinutes20120508

Jun 28, 2012, 1:26:14 PM (6 years ago)



  • WeeklyMinutes20120508

    v1 v1  
     1== BIND 10 Team Call ==
     6== Attendees ==
     7 * jinmei
     8 * Shane
     9 * Stephen
     10 * Michal
     11 * Tomek
     12 * Aharen
     13 * Kambe
     14 * Fujiwara
     15 * Jelte
     16 * kevin
     17 * Larissa
     18 * Marcin
     19 * Jeremy
     21== Sprint (NSEC) Status Check (10 minutes) ==
     22Check to see how our progress on our current sprint is \\
     23#1803, #1804, #1806 basically done\\
     24#1810 should be quite easy\\
     25Most difficult/interesting tickets done\\
     26Jinmei: how important to complete?\\
     27Shane: pretty important...\\
     28Jinmei: most of the things can be started when we are reviewing #1803 and #1804; without the dependency task we may need to do some more cleanup after that
     30== AS112 Status Report (5 minutes) ==
     31Jeremy gives a quick update on the AS112 status\\
     32Jeremy: running in production for almost a week, handling 5k-6k queries/second. Opened several tickets based on this work (8 to 10); stats in particular will be talked about later; appears to be working adequately; AUTH_ZONEMGR_ERROR and ZONEMGR_UNKNOWN_ZONE_NOTIFIED appearing in logs\\
     33Shane: not sure why so few queries?\\
     34Jeremy: asked ops, not sure about reponse yet; was 55k-60k queries, last week was 16k-17k\\
     35Jelte: what is reporting this? BIND 10?\\
     36Jeremy: this is just packets with netstat, gives a rough estimate; we're handling everything, not dropping anything\\
     37Jeremy: I plan to write a summary of all of this
     39== Interface Detection and Use (15 minutes) ==
     40We should talk about how we detect and use interfaces, as this caused issues with our AS112 box. Hopefully Tomek can give us some insight from the work in this area he has done for Kea.\\
     41Ticket is
     43We have an API for this but ASIO does not support the use of interface. We have to either hack ASIO or bypass ASIO.
     45So we would need the target address and a way to set the sending address in ASIO, or a way to bypass ASIO.
     47From DHCP, we also need to bind socket to specific interfaces, since DHCPv6 uses link-local multicast. In Kea we bind to a specific interface and join a multicast group.
     49Shane: So if we wanted to continue to use ASIO we could bind to each interface separately.\\
     50Michal: Yes we would have to detect interfaces, and know when they go up and down.\\
     51Tomek: I needed this for DHCP, so we have this as the interface manager. What is missing is notification about state changes on interfaces.\\
     52Shane: Also only on Linux?\\
     53Tomek: Yes currently only on Linux, stubbed on other systems.\\
     54Existing code is available in src/lib/dhcp/ It is used by dhcp4 and dhcp6 components.
     56BIND9 periodically scans interfaces, especially for IPv4.
     58Shane: I don't know if there are any portable ways for this...\\
     59Tomek: There are 4 separate ways of detecting interface changes, just on Linux. Definitely non-portable. Probably the most portable is to detect interfaces again and compare with what we have now.\\
     60Shane: I guess if we have 10s of seconds, it should be fine except for people with 1000s of interfaces.\\
     61Tomek: We can make this a parameter.
     63Michal: I feel we will still need a receptionist, and it could use something other than ASIO, maybe.
     65Only necessary for wildcard?\\
     66Jinmei: Yes, basically. Except for minor cases like an address has been moved.
     68Jelte: what happens if you remove an address and add it again?\\
     69Jinmei: highly dependent on the kernel, in BSD you can still use the address as long as you have the socket bound to the address; in my vague memory in other OS it is more strict; in any case it's a quite tricky situation and we should not consider it now
     71Jelte: if we don't do this soon, I propose at least removing the wildcard address from the default\\
     72Michal: most people have a reasonable number of interfaces and wildcard works for them\\
     73Jinmei: maybe workaround is to use a warning-level log message when it detects that? Anytime we use the wildcard.
     75ACTION: Larissa and Shane to discuss what to do and when. (By next sprint.)
     77== Gathering User Stories (10 minutes) ==
     78Larissa reports on this effort for our UI work\\
     82About 15 users, mix of types\\
     83Extra use cases by CoB tomorrow would be good, hoping to send list of use cases to customers on Friday
     85Jinmei: maybe you would like to send inquiry to bind10-users list? I think subscribers are slightly different from developers...\\
     86Larissa: thought I had...\\
     87Jeremy: I saw it there. It's there!
     89== Year 4 Project Plan (15 minutes) ==
     90Shane presents the current status of the year 4 plan\\
     93Larissa: will we have problems because of not doing msgq\\
     94Michal: we will have to pay the price because of working with the clumsy API\\
     95Jinmei: my understanding is that msgq proposals have various independent things from fixing current problems to adding some nice features, maybe we could focus on fixes.
     99Jinmei: for example, if we could only add logging we could have more debugging\\
     100Michal: I think we should at least fix the libraries, because we cannot do asynchronous use now, no notification at all\\
     101Jinmei: we can think about re-focusing the feature even if the implementation is sub-optimal, so adding logging with minimal effort...\\
     102Michal: if you don't want to configure logging then it's okay, but I think that logging without configuration is useless
     104Jelte: I was kind of thinking that the convenient RPC would help the configuration backend changes a lot, though not strictly necessary\\
     105Jelte: for logging you need to connect to the msgq and sending commands and reading configuration... #1914 and #1921 I think are most important
     107Shane: I'll try to get some of this work in, we have estimates so I can try to prioritize
     109Jinmei: does this include vacation and meetings and other distractions\\
     110Shane: no...\\
     111Jinmei: data source scaling... \\
     112Shane: in-memory data source
     114== Stats lossage ==
     115What to do about stats being reset when auth servers stop and start? See ticket #1941.
     117On AS112 multiple auth servers, counters are reset periodically (see ticket).\\
     118If 32-bit unsigned integer, stats can overflow in 1 day!
     120Michal: this should get fixed when we fix statistics like we talked about\\
     121Jeremy: can you please comment into #1941? then I'm done with this topic.
     123== Include directory naming ==
     124Should we rename src/lib/dns to src/lib/libdns++ or src/lib/dns++?  This discussion prompted by #1930. (I recall we discussed this over a year ago.)
     126Jinmei: I don't think the conflict with BIND 9 is a big issue, because whichever name we choose the conlict can happen. We should distinguish by adding a proper prefix or something. /include/bind10 or something.
     128Mukund: based on #1930, files are in /usr/include/bind10-devel/ even though the rest of the DNS library is under src/lib/dns we can rename it with automake, we don't have to rename the directory. If we want to see the ++ in the name then we can go with this, but otherwise I don't think we conflict in any way.
     130Jeremy: I was thinking the installed version should have ++ in the name so it is obvious it is a C++ version.
     132Jinmei: I think there are other libraries called blahblah++... what is the normal convention?\\
     133[ none found ]\\
     134Jinmei: My suggestion is to see what other utilities do to see if there is a convention.
     136Jeremy: anyone against it?\\
     137Jinmei: not necessarily but it looks a bit awkward\\
     138Mukund: will we have to change the source tree?\\
     139Jeremy: I think so\\
     140Jinmei: I don't mind that part
     142Okay, approved due to lack of negative consensus.
     144== Wrong python packages used ==
     145Complicate code so multiple BIND10's can be ran at same time (for testing for example)? This is about ticket #1851.
     147Uncertainty that prepending works.
     149If we install everything under specific subdirectories, not in standard Python path, this doesn't happen. One of our libraries is in one of the parts.\\
     150So if we clarify this, we don't have to do anything further for this problem.
     152Jelte: version subdirectories\\
     153Jeremy: that would be fine also
     155Jinmei: I agree we should insure users can install multiple versions of BIND 10, but I suspect it is a simpler solution which works in most cases in practice, and I'd like to avoid tweaking the internal configuration to be more complicated (like prepending instead of appending, in a kind of ad-hoc manner)\\
     156Jelte: yes, although the current method is kind of... and there were some scary things around this code, and this turned out to work best so far\\
     157Jinmei: so if not urgent, I suggest we solve this by clarifying the install directories and revisit the topic if it still doesn't solve the problem
     159== Separating DNS and DHCP Builds ==
     160We spoke about this at the F2F, but with work starting on updating perfdhcp, it would be helpful if we could bring this forwards.
     162Stephen: starting work on DHCP performance tool, which will have limited interaction with DNS (if at all); no need for Botan if you want DHCP performance tool\\
     163Stephen: this is a request to modify the build system to support specific tools\\
     164Jeremy: does it use the DHCP libraries?\\
     165Stephen: yes, or it will\\
     166Stephen: there is the likelihood that someone will want to build one component and it would be helpful if you can build parts without dependencies that you don't need
     168Stephen: should finish the first phase of perfdhcp work in 6 to 7 weeks time, would be nice to build without all of DNS at that time
     170Stephen: I was thinking --enable-dns, --enable-dhcp, and so on.\\
     171Jelte: we probably need to make internal configure changes for checking. I would very much like to keep "enable all" the deault there!\\
     172Stephen: I think by default it should build everything.
     174Mukund: we could build whatever can be built\\
     175Stephen: yes, but you don't want to build everything if you don't have to
     177Jeremy: anyone know of another software which does what we want?\\
     178Jelte: Mozilla source tree... but doesn't use autoconf\\
     179Jeremy: maybe Apache 2...
     181Jinmei: is complicated, so if we add a major overhaul we should use the opportunity for a cleanup
     184== Meta data source vs data source container ==
     185Prerequisite: at least these two message should be read beforehand:\\
     189If the discussions in these messages are reasonable and have been ready by a reasonable number of participants, we can either vote or throw a dice to make the decision.  If it requires more discussions, I suggest continuining it on the list rather than wasting more precious meeting time.
     191Defer to list due to time-constraints, to be resumed at next bi-weekly call.
     193== Assigning tickets to non-team-developer (non-sprint-member) submitter ==
     194Maybe tickets should not be assigned to users not on the sprint for feedback, as this may make the ticket get delayed or forgotten from the sprint developers.
     196Jeremy: Is assigning tickets for feedback, or who is working on the ticket? There were tickets assigned to me, and I wasn't doing work on it, what if it was another non-sprint member?
     198Shane: issue is about ownership, probably best to send mail or use jabber when assigning a ticket to insure people take ownership
     200Jinmei: I think it's quite natural to give ownership or something to the requestor. But I see the issue Jeremy mentioned, so I don't object to changing the semantics. Perhaps we should change it to "responsible developer" or something like that, since "owner" can be ambigous.\\
     201Jelte: I think "owner" does mean responsibility. But for me (as a developer) I start my day looking at my ticket queue. OTOH for very external people they get an e-mail whether they are assigned or not, and the external users are quite quick to respond (or at least notice) that something had happened in a ticket.
     203Jeremy: some ticket systems have a state called "feedback needed", and remind people about these.\\
     204Jelte: should we add that as a possible state between "reviewed" and "closed"?\\
     205Jeremy: maybe there is a Trac hack for that already.\\
     206Jelte: Might need feedback before you start work.
     208Mukund: some bugzillas have "more info" and "verified" states
     210== log4cplus ==
     2111. Developer does not know about Ctrl-@ issue. (This is regarding .)
     2122. ``There is no inter-process synchronization for console output. In theory, it should be possible to implement it using lock file.'' (This is regarding .)
     2133. Rotation problem with multiple processes ``has been reported and it should be fixed on trunk and upcoming 1.1.0 for !FileAppender and !RollingFileAppender. !DailyRollingFileAppender still has issues with synchronization between multiple processes.'' (This is regarding .)
     215Need to detect the '\x00' and abort if we see it.\\
     216Stephen: we can add a check for this and abort - will determine whether the problem is in our code or the log4cplus code.\\
     217Mukund: have we seen this outside of MacOS?\\
     218Jeremy: don't think so... but on other systems we lose log entries
     220Need to propose some type of synchronization for console output with multiple processes.\\
     221Stephen: inter-process mutex for this? Something we add to our own code. At the same place where we check for '\x00', we can do this. Just a workaround.\\
     222Jelte: so the request is to have an official request to do this
     224__Ran out of time. Call ended at 16:00:54 UTC__
     226BIND 10 used in production
     228Git server migration
     230Date for next snapshot release?
     231It has been around 4 sprints and 7 weeks since last snapshot release.
     233Library versioning
     234Propose that only increase once per release if needed; but do on first need (first noticed).