MonetDB: default - add support for unix sockets

Fabian Groffen fabian at monetdb.org
Fri Sep 6 11:14:06 CEST 2013


On 06-09-2013 09:42:10 +0200, Gijs Molenaar wrote:
> 
> Hi Stefan, others,
> 
> Question:
> 
> * Is the path to the socket always /tmp.s.merovingian.<port> and
>   /tmp.s.monetdb.<port> ?

yes, unless configured differently

> * If not, is it okay if I just make these the defaults?

the "/tmp/" part can be made configurable/default

> * The SQL MAPI over the monetdb socket seems to work fine, but the
>   control MAPI seems to be quite slow and for some commands (kill)
>   is hanging or maybe not correctly implemented. The control MAPI
>   protocol over a socket is a bit weird, it differs quite a lot
>   from the other implementations. Maybe you guys have an idea what
>   is going on? i've been looking at the C code and found some hints,
>   (like you need to send a 0 at the beginning of communicating over
>   a socket, but not in the case of control), but i'm a bit stuck now.

control and mapi are different things, socket mode doesn't use blocks,
and doesn't login iirc

I think the Java code has comments/explanation.

> I've been working on this so we can control MonetDB databases from
> python without the need to require to set a managed passphrase. Also
> i'm working on a SQLAlchemy Dialect:
> 
>   https://github.com/gijzelaerr/sqlalchemy-monetdb
> 
> greetings,
> 
>  - Gijs
> 
> 
> On 05/09/13 18:56, Stefan Manegold wrote:
> > Hi Gijs,
> > 
> > in case you did not notice this, yet:
> > 
> > This checkin breaks several tests that do test or use the Python interface,
> > resulting in errors like
> > 
> > "
> > Traceback (most recent call last):
> >   File "delete_all.SQL.py", line 9, in <module>
> >     dbh = monetdb.sql.Connection(port=port,database=db,autocommit=True)
> >   File "PREFIX/lib/python2.7/site-packages/monetdb/sql/connections.py", line 49, in __init__
> >     unix_socket=unix_socket)
> >   File "PREFIX/lib/python2.7/site-packages/monetdb/mapi.py", line 96, in connect
> >     self.socket.connect(unix_socket)
> >   File "/usr/lib64/python2.7/socket.py", line 224, in meth
> >     return getattr(self._sock,name)(*args)
> > socket.error: [Errno 2] No such file or directory
> > "
> > 
> > or
> > 
> > "
> > Traceback (most recent call last):
> >   File "SOURCE/clients/examples/python/sqlsample.py", line 23, in <module>
> >     dbh = monetdb.sql.Connection(port=int(sys.argv[1]),database=sys.argv[2],autocommit=True)
> >   File "PREFIX/lib/python3.3/site-packages/monetdb/sql/connections.py", line 49, in __init__
> >     unix_socket=unix_socket)
> >   File "PREFIX/lib/python3.3/site-packages/monetdb/mapi.py", line 97, in connect
> >     self.socket.connect(unix_socket)
> > FileNotFoundError: [Errno 2] No such file or directory
> > "
> > 
> > 
> > See also, e.g., `Mtest.py sql/benchmarks/tpch/fileleak sql/test/concurrent sql/test/mapi`
> > 
> > or our nightly TestWeb @ http://monetdb.cwi.nl/testweb/web/status.php?branch=default
> > as of tomorrow morning.
> 
> -- 
> Gijs Molenaar
> http://www.astro.uva.nl/people/gijs-molenaar/
> 



> _______________________________________________
> developers-list mailing list
> developers-list at monetdb.org
> http://mail.monetdb.org/mailman/listinfo/developers-list


-- 
Fabian Groffen                              fabian at monetdb.org
column-store pioneer               http://www.monetdb.org/Home



More information about the developers-list mailing list