If you invoked a commit on PQS, it should have flushed any cached values
to HBase. The general messages you described in your initial post look
correct at a glance.
If you have an end-to-end example of this that I can play with, I can
help explain what's happening inside of PQS. If you want to figure it
out yourself, I'd recommend attaching a remote debugger to the
QueryServer and stopping it inside of the class JdbcMeta in Avatica's
codebase (you should see a method in there corresponding to the request
you sent).
F21 wrote:
@James Taylor:
I was unable to reproduce the problem today after extensive testing. I
think the problem is probably due to SquirrelSQL and not the query
server. Not familiar with the thin-client and SquirrelSQL, but does it
do any caching?
On 3/04/2016 5:12 AM, James Taylor wrote:
Glad you have a work around. Would you mind filing a Calcite bug for
the Avatica component after you finish your testing?
Thanks,
James
On Sat, Apr 2, 2016 at 4:10 AM, F21 <f21.gro...@gmail.com
<mailto:f21.gro...@gmail.com>> wrote:
I was able to successfully commit a transaction if I set the
serialization of the phoenix query server to JSON.
I will test more with protobufs and report back.
On 2/04/2016 1:11 AM, Steve Terrell wrote:
You might try looking up previous emails from me in this mailing
list. I had some problems doing commits when using the thin
client and Phoenix 4.6.0.
Hope this helps,
Steve
On Thu, Mar 31, 2016 at 11:25 PM, F21
<<mailto:f21.gro...@gmail.com>f21.gro...@gmail.com> wrote:
As I mentioned about a week ago, I am working on a golang
client using protobuf serialization with the phoenix query
server. I have successfully dealt with the serialization of
requests and responses.
However, I am trying to commit a transaction and just doesn't
seem to commit.
Here's what I am doing (I am not including the WireMessage
message that wraps the requests/responses for brevity):
I have a table called "my_table", created by running this sql
in Squirrel SQL: CREATE TABLE my_table (k BIGINT PRIMARY KEY,
v VARCHAR) TRANSACTIONAL=true
OpenConnectionRequest {
connection_id: "myconnectionid"
}
statementID = CreateStatementRequest {
connection_id: "myconnectionid"
}
PrepareAndExecuteRequest {
connection_id : "myconnectionid"
statement_id = statementID
sql = " UPSERT INTO my_table VALUES (1,'A')"
}
CommitRequest {
connection_id: "myconnectionid"
}
After sending the commands to the query service, I executed
"SELECT * FROM my_table" in Squirrel SQL, but I do not see
any records. There also doesn't seem to be anything
interesting in the tephra or hbase master logs.
What is causing this problem?