Monday July 18, 2011

[Time] NameMessage
[07:19] CIA-32 libzmq: 03Martin Sustrik 07master * rbf78e23 10/ (5 files in 2 dirs): GENERIC socket type and COMMAND flag added ...
[07:37] CIA-32 libzmq: 03Martin Sustrik 07master * r89daa57 10/ (src/generic.cpp src/generic.hpp): Missing files for GENERIC socket implementation added ...
[07:37] CIA-32 libzmq: 03Martin Sustrik 07master * r1a40880 10/ (doc/zmq_getsockopt.txt doc/zmq_setsockopt.txt): ZMQ_IDENTITY option removed from the documentation ...
[07:43] CIA-32 libzmq: 03Martin Sustrik 07master * rf97f50c 10/ src/signaler.cpp : Signaler timeout bug on Windows fixed ...
[08:00] CIA-32 libzmq: 03Martin Sustrik 07master * r66ff99c 10/ MAINTAINERS : Martin Lucina remove from MAINTAINERS file ...
[08:04] CIA-32 libzmq: 03Martin Sustrik 07master * rac20e17 10/ doc/zmq.txt : Reference to C++ binding removed from zmq(7) ...
[08:56] CIA-32 libzmq: 03Steven McCoy 07master * r18d8be5 10/ (src/signaler.cpp src/zmq.cpp): Fix pollin on Cygwin. ...
[09:24] pieterh hi guys
[09:31] sustrik hi
[09:31] sustrik any reason why not to enable the option on freebsd?
[09:40] pieterh just minimalism, we don't know it's needed
[09:41] sustrik given that the option exists
[09:41] sustrik i would assume SIGPIPE happens
[09:41] sustrik will add it
[09:42] sustrik next autobuild will show whether it builds ok
[09:42] pieterh ok, I'll do the same on 2.1 and 2.2 then
[09:43] sustrik wait till next autobuild to be sure it works ok
[09:43] sustrik btw 2.1 and 2.2 are broken on win32 now
[09:43] sustrik sent you the patch
[09:44] sustrik same for 3.0.0
[09:50] pieterh how did they break on win32?
[09:56] sustrik use of select() in signaler.cpp doesn't set the infinite timeout correctly
[09:56] pieterh ok
[09:58] CIA-32 libzmq: 03Martin Sustrik 07master * r7298b57 10/ src/zmq.cpp : Includes in zmq.cpp cleaned-up ...
[10:48] pieterh sustrik: small question
[10:48] pieterh is it possible that ROUTER in 3.0 doesn't set MORE when providing the identity frame?
[10:50] sustrik nope, it's exact copy of 2.1 ROUTER, for backward comaptibility
[10:51] pieterh I have something weird happening, will make a test case...
[10:52] sustrik ok
[10:54] CIA-32 libzmq: 03Pieter Hintjens 07master * ra33a275 10/ src/tcp_socket.cpp : Fixed issue 230 ...
[11:01] pieterh sustrik: OK, I've confirmed it, ROUTER doesn't set RCVMORE on the identity frame
[11:01] pieterh
[11:02] sustrik ok, let me see
[11:14] sustrik pieterh: that's the mailbox.cpp assert patch you backported from unstable
[11:15] pieterh hmm, it was quite a complex backport, that explains it
[11:15] pieterh hang on, hang on
[11:15] pieterh this problem affects 3.0, not 2.1
[11:16] pieterh allow me to test libzmq master...
[11:17] sustrik yes, it affects 3.0
[11:17] sustrik but it was backported to 2.1 as well
[11:17] sustrik let me check once again
[11:18] pieterh it affects libzmq master, as I'd expect
[11:21] sustrik here's the relevant code in 2-1:
[11:21] sustrik
[11:22] pieterh oh, we're talking about two different issues...
[11:22] pieterh you're referring to the win32 problems, ok, makes sense
[11:25] sustrik oops, you meant the rcvmore thing?
[11:25] sustrik i am on that
[11:56] sustrik pieterh: this issue: assert error on very simple C client/server example
[11:56] sustrik is already solved
[11:56] sustrik it's the win issue i've sent the patch for recently (2.1, 2.2, 3.0)
[11:57] pieterh the backport wasn't in any released package
[11:58] sustrik it's natively in 3.0
[11:58] sustrik later on ported to 2.1 and 2.2
[11:58] pieterh Marc was testing 3.0, right
[11:58] sustrik the guy played with 3.0 and reported the error
[11:59] pieterh we should be stricter about asking people to log issues in Jira
[11:59] pieterh lack of issues makes it harder than it should be to manage such changes
[12:29] CIA-32 libzmq: 03Martin Sustrik 07master * ra808431 10/ MAINTAINERS : Fixed email addresses in the MAITAINERS file ...
[12:52] creanyx Hi
[12:53] creanyx Does anyone have problems with php bindings in windows?
[13:24] mikko creanyx: most likely
[13:43] sustrik pieterh: still there?
[13:43] pieterh sustrik: yup
[13:43] pieterh did you find it?
[13:43] sustrik the RCVMORE problem
[13:44] sustrik the thing is that in 3.0 there's the LABEL flag introduced
[13:44] sustrik which is used for envelopes instead of MORE
[13:45] sustrik you can get it the same way as more flag, just use ZMQ_RCVLABEL
[13:45] pieterh right, but the identity is generated by the ROUTER socket
[13:45] sustrik yes
[13:46] pieterh how does the application send back an identity frame then?
[13:46] sustrik ZMQ_SNDLABEL
[13:46] pieterh oh dear
[13:47] sustrik the other option was to disable user-space multipart messages
[13:47] pieterh I thought that was a WLP issue
[13:47] pieterh but it changes the semantics of multipart messages
[13:48] pieterh it's not documented in zmq_socket (how ROUTER works with labels)
[13:48] pieterh this breaks pretty much every ROUTER example in the guide
[13:48] pieterh it breaks the CZMQ api
[13:48] sustrik well, given that router is a backwards-compatibility feature
[13:48] sustrik let's make it use MORE instead of label
[13:49] pieterh that would solve things, yes
[13:49] sustrik that way it'll be identical to 2.1`
[13:49] pieterh well, the LABEL is meant for internal use isn't it...
[13:49] pieterh there's still the issue of routing messages with envelopes, but that's a mixed use case we can IMO drop
[13:49] sustrik yes, it's used by hop-by-hop layer
[13:49] sustrik and should be invisible at end-to-end layer
[13:49] pieterh yes
[13:50] pieterh how did you make it work for PEER sockets?
[13:50] pieterh using MORE?
[13:51] sustrik nope LABELs
[13:51] sustrik peer socket work at hop-by-hop level
[13:51] sustrik there's no concept of multiple hops
[13:52] sustrik wait a sec
[13:57] sustrik pieterh: try thisL
[13:57] sustrik
[13:58] espen Hi! zeromq (2.1.7) has been installed (in Lucid) from tarball with configure --prefix=/opt/. PKG_CONFIG_PATH is set to /opt/zeromq-2.1.7/lib/pkgconfig/. pecl install returns 'configure: error: Unable to find libzmq installation'. Tips?
[14:00] pieterh sustrik: that still reports more=0, :-/
[14:02] pieterh I'll check if it's reporting LABEL on that part
[14:03] pieterh "Got first message part: size=17 more=0 label=4196459"
[14:03] pieterh I guess 4196459 means 'true'
[14:05] sustrik that's strange
[14:05] sustrik let me have a look
[14:06] sustrik hm, reports 1 here
[14:06] sustrik same test program as before?
[14:31] mikko espen_: hmm
[14:32] mikko espen_: interesting enough that looks like an error on my side
[14:32] fintler has anyone heard of someone using zmq to write an impl of paxos?
[14:32] espen mikko: Installing via pear?
[14:33] mikko espen_: dowload the package and use --with-zmq
[14:33] mikko espen_: it ignores PKG_CONFIG_PATH
[14:34] pieterh sustrik: re, was having lunch... same test case as before, and I've rebuilt several times
[14:34] espen mikko: ./configure --with-zmq -> configure: error: Unable to find libzmq installation
[14:34] mikko ./configure --with-zmq=/opt/zeromq-2.1.7
[14:34] espen Works like a charm ;)
[14:35] mikko i'll fix the pkg-config-path issue in next release
[14:35] espen Thanks a lot :)
[15:13] screen-dsuch fintler: I haven't but would be interested in hearing more if someone started doing it
[15:31] fintler screen-dsuch: my boss may be interested in putting together a few people to work on it, it's still very much up in the air tho
[15:31] fintler I've been asking around so we don't duplicate effort :)
[15:35] screen-dsuch sure, I get it
[16:10] Odipides Anyone know if there's been any development on a failover mechanism for ZMQ?
[16:12] mikko what sort of failover mechanism?
[16:14] pieterh Odipides: there are a number of failover patterns in the Guide
[16:21] cremes fintler: ooh, a distributed state machine... if such a project starts up i'd like to know about it
[16:27] pieterh sustrik: ok, that fixes it, the test code was using 'socket' instead of 'pipeout'... :-/
[16:53] traviscline tips on debugging a epgm recv not returning? simply modifying the weather pub/sub example from zguide to test (e)pgm. I'm guessing lack of hardware support but how do I verify that?
[16:53] traviscline connect and bind (and send)succeed but a recv never completes
[16:54] pieterh traviscline: sorry, have not tried epgm...
[16:54] Odipides Thanks for the pointer. I'll check the guide
[17:12] guido_g traviscline: can you show the exact bind/connect strings you're using?
[17:12] traviscline i'm seeing the same failure with pgmrecv pgmsend directly, so investigating there
[17:15] guido_g ah then good luck
[18:21] mikko traviscline: are you testing on loopback?
[18:26] traviscline mikko: fails on loopback with a warning (zmq) pgmsend/pgmrecv with -l works locally
[18:26] traviscline mikko: I've given up. I think there are hardware requirements I don't have met
[18:27] traviscline Was trying on Rackspace machines
[18:27] traviscline mikko: Tried all interfaces
[18:28] mikko what was the send and recv strings?
[18:28] mikko were*
[18:29] mikko openpgm has env variable for larger debug level as well
[18:29] mikko let me look that up
[18:47] traviscline mikko: I was using that. The send looks fine but the tech doesn't get anything
[18:47] traviscline Recv* not tech (on my phone atm)
[18:48] traviscline Only works if it's local and I use the -l flag
[18:48] traviscline Couldn't get any other combination to work
[18:49] mikko is multicast available in your environment?
[18:49] traviscline I was hoping openpgm meant I didn't need hardware support but I guess that's the case
[18:49] mikko not necessarily hardware support
[18:49] mikko but your environment might not allow multicast
[18:49] traviscline well. Network configuration support
[18:50] traviscline Ec2 and Rackspace disable it because it would cause lots of load apparently
[18:50] mikko yeah, there is no way around it
[18:50] traviscline was unclear as to if openpgm would get around that. I see that now
[18:50] mikko openpgm still uses multicast
[18:51] mikko i think especially in ec2 it would be easy to flood the whole network with malicious multicast
[18:51] traviscline yeah
[18:51] traviscline ill just have to come up with something custom
[18:52] mikko do you have a large amount of subscribers?
[18:52] mikko that all receive all messages
[18:52] traviscline I wouldn't say large
[18:53] traviscline <100
[19:20] michelp howdy folks
[19:21] mikko i
[19:21] mikko hi
[19:53] michelp i would definitely take an interest in a 0mq based paxos implementation, fintler what language are you looking to implement in?
[19:54] traviscline michelp: heh, i was just thinking about the same thing
[19:55] fintler michelp: probably C or C++
[19:55] fintler I'm half thinking C++ just for google protocol buffers
[19:55] fintler
[19:55] fintler I just made a draft protocol a few mins ago
[19:55] fintler it's probably way way off, but it's something to start with :)
[19:57] michelp nice, what are you looking to do with it? distributed data? processing?
[19:57] fintler working towards a distributed priority queue to use for launching parallel jobs on a cluster
[19:57] fintler so, paxos to handle a distributed lock to build the queue on
[19:57] fintler kinda like chubby/zookeeper
[19:58] michelp nice, i've been pretty underwhelmed by a lot of the cluster job managment tools i've seen
[19:58] fintler same here
[19:58] fintler most of them are heap based queues, which really suck for scaling
[19:58] fintler I was thinking of taking a skiplist/skipnet/skipweb path, but thought this might be a bit more fun
[19:59] michelp well keep us posted, i can certainly help out a little once you've got something spiked out, at least to kick the tires :)
[19:59] fintler sounds good
[19:59] michelp or if you need a python binding :)
[20:00] fintler I'll post back when I have something compiling :)
[20:01] fintler does anyone have a name better than libagree?
[20:09] cremes libpaxos
[20:09] fintler it seems like someone else is using it for a research project :\
[20:09] taotetek hello zeromq'ers
[20:09] fintler also, I don't really plan on locking things to paxos
[20:10] fintler any consensus algo that works well will do :)
[20:10] cremes libconcensus
[20:10] cremes :)
[20:10] fintler that's not a bad one
[21:30] whack fintler: libdemocracy ;)
[22:07] jdempster Hello friends, I'm trying to compile the php module for zeromq, having zero luck at the moment, is there anyone who can possibly help pls
[22:07] jdempster I get "mach-o, but wrong architecture"
[22:31] fintler jdempster: trying to compile a 64 bit zeromq into a 32 bit php?
[22:31] fintler erm, nm… he left
[23:35] cremes fintler, whack: libdemocracy... brilliant!