[Time] Name | Message |
[07:47] Guest40207
|
Anyone ever build 0MQ 2.1.9 on UP-UX 11.i3?
|
[08:48] sustrik
|
Guest40207: you mean HP-UX?
|
[09:28] mikko
|
sustrik: he is gone
|
[10:19] sustrik
|
mikko: still there?
|
[10:19] mikko
|
yes
|
[10:20] sustrik
|
the AIX question
|
[10:20] sustrik
|
i've got an reply from andy piper
|
[10:20] sustrik
|
there's this programme:
|
[10:20] sustrik
|
http://www-304.ibm.com/partnerworld/wps/pub/systems/vlp/index
|
[10:20] sustrik
|
"The Virtual Loaner Program (VLP) offers no-charge remote access to IBM hardware"
|
[10:21] mikko
|
that would be pretty cool
|
[10:21] sustrik
|
not sure whether it can be automated
|
[10:21] sustrik
|
btw, HP has a similar programme called DSSP (IIRC)
|
[10:21] mikko
|
even manual access would be enough for the odd bugs and testing
|
[10:21] sustrik
|
which allows testing on HP-UX
|
[10:25] mikko
|
currently we have no way of testing AIX / HP-UX
|
[10:25] mikko
|
so anything would be better
|
[10:25] sustrik
|
yup
|
[10:25] sustrik
|
i'm looking into it
|
[10:31] mikko
|
cool
|
[10:32] mikko
|
sustrik: do you run virtualbox or vmware locally?
|
[10:32] sustrik
|
i have a virtual box installed
|
[10:32] mikko
|
i could create you freebsd image with all essentials installed
|
[10:32] mikko
|
if you want to try on freebsd occasionally
|
[10:32] sustrik
|
nice
|
[10:33] sustrik
|
is the problem you are seeing reproducible>
|
[10:33] sustrik
|
?
|
[10:33] mikko
|
i can reproduce it on mac
|
[10:33] mikko
|
haven't tested freebsd yet
|
[10:33] mikko
|
i applied the patch on the ticket and havent seen the error since
|
[10:33] mikko
|
occasionally getting this:
|
[10:33] mikko
|
Assertion failed: ok (mailbox.cpp:79)
|
[10:34] mikko
|
during shutdown
|
[10:35] sustrik
|
the patch just hides the problem, we should find out what's actually wrong
|
[10:35] sustrik
|
the error should not happen at all
|
[10:35] sustrik
|
OK, I see, both VLP and DSSP allow you to book the hardware in advance
|
[10:36] sustrik
|
so, probably no daily builds
|
[10:36] sustrik
|
but in theory we can test before releasing
|
[10:39] mile
|
is it possible to do some sort of broadcast to a 0mq network?
|
[10:40] mile
|
I'm trying to make a self-manageable network
|
[10:40] mile
|
and the point of joining the network is a bit of a puzzle for me
|
[10:41] mile
|
I am trying to avoid a centralized manager which would do that
|
[10:41] mikko
|
pgm ?
|
[10:43] mile
|
I was just looking into it... do I need a list of nodes for a multicast, or I can send to a partition of a network?
|
[10:45] mikko
|
it's multicast
|
[11:57] mile
|
do two programs connecting to the same multicast address from a single network interface
|
[11:57] mile
|
both receive messages?
|
[11:57] mile
|
(2 processes)
|
[11:58] mile
|
or is there any loop-prevention mechanism involved?
|
[12:02] mile
|
I followed the epgm example, but I don't receive any messages
|
[12:05] sustrik
|
multicast loopback is off
|
[12:06] sustrik
|
it's not a real multicast anyway and it's inefficient slowing the whole thing down
|
[12:06] sustrik
|
if you want to send messages to a local machine use ipc://
|
[12:15] mile
|
sustrik, I need it as a swarm control channel
|
[12:15] sustrik
|
on a LAN?
|
[12:15] mile
|
yes
|
[12:16] mile
|
and I am trying to minimize the a-priori knowledge needed to join
|
[12:16] mile
|
if it is only a multicast address, it would definitely work for me
|
[12:16] mile
|
I'm just testing on a single machine right now
|
[12:18] mile
|
sustrik, and by slowing down, you mean only the pgm socket os slowed down, or the whole network?
|
[12:18] sustrik
|
i mean that local multicast is dropping a lot of packets
|
[12:18] sustrik
|
leading to local retransmits
|
[12:19] sustrik
|
anyway, it's switched off so you don't have to care about it
|
[12:19] mile
|
that means that it's ok that I'm not getting any messages on the local machine?
|
[12:28] sustrik
|
yes, it's ok
|
[12:29] sustrik
|
pgm and epgm transports work only over the network
|
[12:32] mile
|
I'll try to test with a VM
|
[12:33] mile
|
it's hopefully not smart enough to differentiate between virtual and physical nodes :)
|
[12:57] sustrik
|
mile: no idea
|
[12:57] sustrik
|
virtual networking seems to be a complex topic
|
[12:57] sustrik
|
how it works with multicast is not obvious at all
|
[14:54] mile
|
hm, so I just tried PGM with virtualbox
|
[14:54] mile
|
doesn't seem to work
|
[14:54] mile
|
any ideas how to track down the problem?
|
[14:54] mile
|
everything compiles fine
|
[14:54] mile
|
but no messages arrive
|
[14:59] mikko
|
mile: openpgm has some test utils with it iirc
|
[14:59] mikko
|
and it supports some environment variable for outputting info
|
[14:59] mikko
|
but apart from that, wireshark
|
[14:59] mile
|
tx, I'll try :)
|
[14:59] mile
|
does the router/switch need any special settings to support multicast?
|
[15:01] RandomMike
|
hi all
|
[15:01] RandomMike
|
is there anybody on Windows with zmq?
|
[15:03] RandomMike
|
I have an app on widows that is run in multiple instances on one box
|
[15:04] mile
|
mikko, I'm definitely receiving packets from the multicast address
|
[15:04] RandomMike
|
instances have predefined ports that are used as "connection strings" to zmq_bind
|
[15:04] mile
|
source is the machine sending, destination the multicast address
|
[15:05] RandomMike
|
unfortunatelly zmq on windows binds to random ports since signalling between threads is implemented as
|
[15:06] RandomMike
|
TCP/IP connection over loopback port
|
[15:06] RandomMike
|
https://github.com/zeromq/zeromq2-1/blob/master/src/signaler.cpp#L209
|
[15:06] RandomMike
|
and now my app sometimes cannot be started since port is already occupied by another instance and its "signal" channel
|
[15:06] RandomMike
|
any idea how to workaround it?
|
[15:07] sustrik
|
mile: do you still have sender and receiver on the same box?
|
[15:07] mile
|
yes, but virtualized
|
[15:07] mile
|
I found one definite error
|
[15:07] mile
|
let me try again
|
[15:08] sustrik
|
RandomMike: no idea right now
|
[15:08] sustrik
|
however, can you log the issue to the bug tracker?
|
[15:09] sustrik
|
or send an email to the mailing list?
|
[15:09] mile
|
sustrik, nope, still the same, I get traffic in wireshark
|
[15:09] mile
|
but nothing in zmq
|
[15:09] RandomMike
|
sustrik: i'll register and send info
|
[15:10] sustrik
|
RandomMike: thanks
|
[15:10] sustrik
|
mile: can you test on two boxes?
|
[15:10] RandomMike
|
if there will be no easy workaround i will create bug report
|
[15:10] RandomMike
|
thanks
|
[15:10] sustrik
|
multicast on a single box is a very strange corner case
|
[15:10] mile
|
well, I have a VM running
|
[15:11] mile
|
and it has its own IP in the same subnet
|
[15:11] mile
|
so it's not really really the same box
|
[15:11] mile
|
but as soon as i dig out another box
|
[15:11] mile
|
i will try
|
[15:12] mikko
|
multicast is tricky
|
[15:13] mile
|
mikko, but would you consider it reliable, once done right?
|
[15:14] mikko
|
mile: openpgm is pretty solid when done right
|
[15:14] mile
|
in my case it is a perfect solution, theoretically :)
|
[15:14] mikko
|
what is the problem you are solving?
|
[15:14] mikko
|
i think i saw it earlier but can't remember anymore
|
[15:15] mile
|
swarm network
|
[15:15] mile
|
I want to avoid a single tracker node
|
[15:15] mile
|
but rather multicast the control data, nodes joining, leaving, heartbeats etc
|
[15:16] mikko
|
this has interesting applications
|
[15:16] mile
|
so multicast seems to be the case with minimal a-priori knowledge of the network topology
|
[15:16] mikko
|
it would be nice to see paxos implementation at some point
|
[15:17] mile
|
I need a simplified version of paxos, sort of :)
|
[15:30] cremes
|
mile: ooh, a version of paxos built on top of 0mq would be cool
|
[15:39] mile
|
mikko, sustrik, my bad, I forgot to set up the ZMQ_SUBSCRIBE for the socket
|
[15:39] mile
|
multicast works fine
|
[15:40] mile
|
on the same host, 2 processes, as well as in VM (Virtualbox)
|
[15:40] sustrik
|
:)
|
[15:40] mile
|
sorry for bothering you
|
[15:40] sustrik
|
np
|
[15:41] mile
|
its a nice FAQ item however ;)
|
[15:41] mile
|
my multicast SUB doesnt work -> remember its still a SUB socket
|
[15:42] sustrik
|
feel free to add it to the FAQ
|
[15:57] mikko
|
hmm
|
[15:57] mikko
|
sustrik
|
[16:08] ilya
|
hi
|
[16:09] ilya
|
I can see that SCTP was proposed in zmq around v0.5
|
[16:09] ilya
|
what's the reason for it no being kept ?
|
[16:09] ilya
|
http://www.zeromq.org/whitepapers:design-v05#toc9
|
[16:10] Steve-o
|
lack of interest, lack of fairness between streams
|
[16:11] Steve-o
|
SCTP looks better on paper than in practice apparently
|
[16:12] Steve-o
|
You could always submit patches to re-add it though
|
[16:20] cremes
|
i think sustrik wanted to refactor and document the interface for adding new transports
|
[16:20] cremes
|
that's my recollection anyway
|
[16:21] ilya
|
ok
|
[16:22] Steve-o
|
there's a new github project somewhere for that
|
[16:22] ilya
|
hm .. Steve-o do you haw any pointer to those findings ?
|
[16:22] Steve-o
|
an easier method sitting above IPC
|
[16:22] cremes
|
of course there is... it wouldn't be 0mq unless there were a dozen or so repositories for each idea :)
|
[16:23] ilya
|
Steve-o: I mean the finding of SCTP being so-so
|
[16:23] ilya
|
.. in practive
|
[16:23] ilya
|
s/practive/practice/
|
[16:23] Steve-o
|
ilya: sure, I think it was from Sustrik though
|
[16:24] Steve-o
|
I think the bigger problem is it being a new protocol
|
[16:24] Steve-o
|
SCTP implementation can always be tweaked to make it better
|
[16:25] Steve-o
|
It might be reference in Google's SPDY docs
|
[16:25] Steve-o
|
>> http://www.chromium.org/spdy/spdy-whitepaper
|
[16:25] ilya
|
thanks :)
|
[16:26] Steve-o
|
A big problem with HTTP is that pipelining is pretty poor and parallel downloads are needed these days
|
[16:27] Steve-o
|
SCTP allows multiple streams out-of-the-box
|
[16:29] cremes
|
sounds like BEEP
|
[16:29] cremes
|
which is up a level in the stack, but shares that particular concept
|
[16:33] Steve-o
|
I think I've heard of that
|
[16:34] Steve-o
|
lol, from Google search summary: "Reducing HTTP latency with SPDY. Last time I looked at BEEP it was incredibly verbose and looked painful to implement. "
|
[19:35] Steve-o
|
mm, would be nice to build 0mq on the command line without 2008
|
[20:58] jose_zap
|
is someone here familiar with the 0mq php extension?
|
[21:04] mikko
|
jose_zap: yes
|
[21:05] jose_zap
|
mikko: I'm having two problems. The most important one right now is that using a publisher socket is not working from a web app
|
[21:05] jose_zap
|
but using the same setting from a command line publisher works fine
|
[21:05] jose_zap
|
is there any restriction for web apps such as the web server, or something like that?
|
[21:09] mikko
|
probably not
|
[21:10] mikko
|
why do you publish from a web app?
|
[21:10] mikko
|
do you have the web application binding or connecting?
|
[21:10] jose_zap
|
mikko: to offload a log function, is there a better pattern that pub-sub?
|
[21:11] mikko
|
i guess that depends on the requirements
|
[21:11] jose_zap
|
mikko: I wrote the logger server in the cli and it works fine. copy pasted the code into a file that will be requested via web and it does not publish anything
|
[21:11] mikko
|
can you put that code to gist.github.com ?
|
[21:11] jose_zap
|
sure
|
[21:13] jose_zap
|
mikko: https://gist.github.com/1246265
|
[21:14] mikko
|
it doesnt necessarily make sense to bind in a web application
|
[21:14] mikko
|
as the socket will die as soon as the request is over
|
[21:14] mikko
|
you might want to connect rather
|
[21:14] mikko
|
and bind the entity that receives the log messages
|
[21:15] jose_zap
|
mikko: that is my second problem, the documentation says I can have a persistent connection reused over multiple requests.. but that is not true
|
[21:15] mikko
|
it is true
|
[21:15] mikko
|
but it's not shared between processes
|
[21:16] mikko
|
if you are using webserver like apache it will be prefork
|
[21:16] mikko
|
and each apache child is separate process
|
[21:16] jose_zap
|
mikko: yeah, I was already suspecting that
|
[21:16] jose_zap
|
I'm using php-fpm
|
[21:16] mikko
|
and each process will have it's own persistent sockets
|
[21:16] mikko
|
probably multiple processes with fpm as well
|
[21:16] jose_zap
|
yes, that's how it works
|
[21:17] mikko
|
i would say that if you are doing this during a request then connect makes more sense
|
[21:18] jose_zap
|
mikko: you mean having a server polling for messages and make the web app connect to it?
|
[21:18] mikko
|
for example yes
|
[21:19] jose_zap
|
mikko: thanks, I will look into that
|
[21:20] mikko
|
https://gist.github.com/06e7a5deed861d74b896
|
[21:20] mikko
|
thats probably the simplest test server you can get started with
|
[21:21] jose_zap
|
I have something vey similar to that, mikko
|
[21:21] jose_zap
|
but I think the SUB is expecting a PUB
|
[21:21] jose_zap
|
what would be the other way to send a message to a SUB socket?
|
[21:29] jose_zap
|
mikko: thanks for your help, really appreciate it. I just found out that the push - pull pattern is what I needed
|
[21:50] CIA-79
|
pyzmq: 03MinRK 07master * rb02cd46 10/ (4 files in 3 dirs): add ctx.destroy() method for closing attached sockets ...
|
[21:50] CIA-79
|
pyzmq: 03MinRK 07master * r8189488 10/ (zmq/tests/test_context.py zmq/tests/test_socket.py): add further shutdown test cases ...
|
[21:50] CIA-79
|
pyzmq: 03MinRK 07master * r18e86ce 10/ (5 files in 3 dirs): Merge PR #140 (ctx.destroy) ...
|
[21:52] Steve-o
|
my first stab at 0mq packaging, what a pita
|
[21:53] Steve-o
|
cmake-gui doesn't function like cmake, it remembers the last project, awesome
|