Correct, James:
Phoenix-4.7.0 uses Calcite-1.6.0. This included lots of goodies includes
commit/rollback support. Phoenix-4.6.0 used Calcite-1.3.0. In general,
if you want to use the QueryServer, I'd strongly recommend trying to go
with Phoenix-4.7.0. You'll inherit *lots* of bugfixes/improvements.
@F21: For implementing your own client, you might be interested in
http://calcite.apache.org/avatica/docs/json_reference.html. If you need
help, please reach out (here or on [email protected]). A Go client
would be fantastic. Making this an official-client for Avatica, it'd be
great :)
@Steve, are you saying that you found PQS to also require
commons-collections to be added? The
phoenix-server-$VERSION-runnable.jar should contain all necessary
classes -- if that's not true, that's a bug we can fix.
James Taylor wrote:
Steve,
For deletes and upsets through the query server in 4.6, did you set auto
commit to be true by default (set phoenix.connection.autoCommit to
true)? In 4.7 this has been fixed, but prior to this, I believe commit
and rollback were a noop. Is that right, Josh?
Thanks,
James
On Thursday, March 24, 2016, Steve Terrell <[email protected]
<mailto:[email protected]>> wrote:
I forgot to mention, although the docs say only one jar is needed, I
found that I also had to have commons-collections-3.2.1.jar in the
class path, too.
On Thu, Mar 24, 2016 at 10:07 AM, Steve Terrell
<[email protected]
<javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
Hi! Everything I say below pertains only to Phoenix 4.6.0.
Don't know what changes in 4.7.0.
Judging from the port number, you must be using the thin client
server. Have you seen this page?
https://phoenix.apache.org/server.html . It has JDBC info.
I got the thin client jar to work with SQuirreL Client, but I
found that sometimes upserts and deletes did not take effect,
even though there was no error reply. So I don't use the thin
client. (Had no problems with read-only queries.)
So, I decided to use only
the phoenix-4.6.0-HBase-0.98-client.jar JDBC instead for both
read/write.
In fact, I wrote my own query server that uses the latter JDBC
connection so I can have clients that perform queries with HTTP
without having to have a jar file.
Hope this helps,
Steve
On Wed, Mar 23, 2016 at 7:57 PM, F21 <[email protected]
<javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
I am interested in building a Go client to query the phoenix
query server using protocol buffers.
The query server is running on http://localhost:8765, so I
tried POSTing to localhost:8765 with the marshalled
protocol buffer as the body.
Unfortunately, the server responds with:
<head>
<meta http-equiv="Content-Type"
content="text/html;charset=ISO-8859-1"/>
<title>Error 500 </title>
</head>
<body>
<h2>HTTP ERROR: 500</h2>
<p>Problem accessing /. Reason:
<pre> Cannot find parser for 123456</pre></p>
<hr /><i><small>Powered by Jetty://</small></i>
</body>
</html>
"123456" is my connection-id.
There doesn't seem to be any documentation on how to query
the query server (i.e, which endpoints and how the
marshalled protocol buffer should be sent). If someone could
point me in the right direction, that would be awesome!