phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Pernollet <>
Subject Re: Can't UPSERT into a VIEW?
Date Tue, 07 Jul 2015 11:08:10 GMT
Hi and thanks again James.

It is a small table (100k rows, 1650 cols splitted in 2 column families,
one with 50 cols, the other with 1600 cols). Running on a 5 nodes cluster.

*I don't understand the purpose of computing another rowkey at table
creation**, as the table already contains keys?* Is CREATE TABLE
moving/copying all the col:value of a row into another row with
phoenix-generated row key? When looking at my table row keys after calling
CREATE TABLE, the row keys remain unchanged (a random UUID).

In my case, after a long time (more than 10 minutes) the CREATE TABLE
statement ends with PhoenixIOException "Failed after attemps=35". Stack
says RpcRetryingCaller failed after "Connection refused" on various nodes
(but not all). And it provide no spent time report as usually indicated by
Despite this error, the table is available for queries afterward.

*Is it normal to spent such a long time to map the table? *

Thank you

Le lun. 6 juil. 2015 à 20:08, James Taylor <> a
écrit :

> Phoenix inserts an empty key value for existing rows when you do a CREATE
> TABLE on an existing HBase table. If it's a big table, just set your
> timeouts really high so it has time to complete.
> Thanks,
> James
> On Mon, Jul 6, 2015 at 7:43 AM, Martin Pernollet <>
> wrote:
>> Hi,
>> (using phoenix 4.2.2 on HDP 2.2)
>> I would like to map an existing table from phoenix. Once mapped, the
>> table should support addition of new rows.
>> I first started by CREATE VIEW. I can query rows, but I can't insert new
>> rows.
>> I now try *CREATE TABLE*. Unfortunately, the command either *fails with
>> a timeout or hangs "forever"*.
>> *What does phoenix tries to do when calling CREATE TABLE on an existing
>> table, compared to CREATE VIEW?*
>> I see nothing particular in the region server logs (simply INFO/DEBUG) :
>> * RpcServer connection-disconnections
>> * LruBlockCache debug reports
>> * Zookeeper informing on opened regions
>> * PostOpenDeployTasks
>> thanks in advance for your suggestions.
>> Le mer. 1 juil. 2015 à 17:09, Martin Pernollet <> a
>> écrit :
>>> I seems
>>> - CREATE TABLE returns the error "Table already exists" if you earlier
>>> created and dropped a view for the HBase table (bug?).
>>> - but one can actually run CREATE TABLE for an existing hbase table
>>> according to the documentation
>>> I can't be sure for the moment as the CREATE TABLE statement on a
>>> re-generated hbase table fails for another reason (timeout).
>>> Le mer. 1 juil. 2015 à 16:04, Martin Pernollet <> a
>>> écrit :
>>>> Hi,
>>>> I got an existing HBase table, so I mapped to phoenix using a *view*.
>>>> I can select, create index, so I am happy.
>>>> Now I want to add a row (I assume it is not compulsory to have all
>>>> column values defined - would be boring otherwise with numerous columns):
>>>> upsert into "table" ("family1"."column1", "family2"."column2") values
>>>> ("value1", "value2")
>>>> says* ERROR 505 (42000): Table is read only. (state=42000, code=505)*
>>>> What does it mean? Can we use phoenix to append rows to an existing
>>>> HBase table?
>>>> Thanks in advance
>>>> Martin

View raw message