NIO support

From: Віталій Тимчишин <tivv00(at)gmail(dot)com>
To: PG-JDBC Mailing List <pgsql-jdbc(at)postgresql(dot)org>
Subject: NIO support
Date: 2012-01-19 23:15:34
Message-ID: CABWW-d1hujwUtT+CEF6mWNf9gDddo-7gXRVoB+iaaE1Su1KNbw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

OK, I finally have first try of NIO support in the patch attached.
The only current feature is query timeout without any additional threads.
Please note that current driver has a bug: JDBC specs says timeout is in
seconds and driver takes it as millis, fixed in my patch.
Also current query timeout schema limitation is that query timeout
processing still requires server round trips that are not under timeout
control. I really don't see how much this differ from simply setting
server-side timeout for fast connections. For slow connections it's still
unreliable. Good thing that it is may be possible to enforce some kind of
hard timeout with NIO schema as it's easy to control blocking calls.
Limitations: only for V3 non-secure connections. Other connections use
regular stream-based implementation.
Planned features:
* SSL with NIO. This should allow to receive notifications without server
roundtrip in SSL mode
* Read answer while sending query. This should make go away the problem
when large query is blocked because answer must be read to send more data
to server.

Note that I have never worked with CVS and have problems to make patch with
new files (AFAICS I can't add it to CVS with RO access).
Comments are welcome.
P.S. To work with SSL I need to start SSL tests. Any hints?

--
Best regards,
Vitalii Tymchyshyn

Attachment Content-Type Size
nio-1.patch text/x-patch 79.2 KB

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Florent Guillaume 2012-01-20 10:10:31 Re: plpgsql function, comment with single quote, braces
Previous Message Роман Литовченко 2012-01-19 19:46:14 Fwd: plpgsql function, comment with single quote, braces