You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by "Bulvik, Noam" <No...@teoco.com> on 2017/12/03 15:07:02 UTC

upsert data with specific timestamp using CurrentSCN fail with error java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection.

Hi,

I want to upset historic data to a table with indexes, I have there TTL defined and I want to load the data as if it was loaded in the correct time so it will be cleaned automatically using the TTL mechanism. I implemented a small java code to load the data after setting "CurrentSCN" to older date ( based on this link https://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API)

But I get java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection on each upset. The same code without setting CurrentSCN property works fine

I am using phoenix 4.13.1 - is this a bug? If not , is there something missing in the documentation on how to set "CurrentSCN"

Regards,

Noam



________________________________

PRIVILEGED AND CONFIDENTIAL
PLEASE NOTE: The information contained in this message is privileged and confidential, and is intended only for the use of the individual to whom it is addressed and others who have been specifically authorized to receive it. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, or if any problems occur with transmission, please contact sender. Thank you.

Re: upsert data with specific timestamp using CurrentSCN fail with error java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection.

Posted by James Taylor <ja...@apache.org>.
Not possible now, but please file a JIRA as it’s possible that this
restriction could be relaxed if there are no indexes.

On Sun, Dec 3, 2017 at 10:40 PM Bulvik, Noam <No...@teoco.com> wrote:

> Assuming I won’t have index on this table at upsert time (I may build them
> later using the index tool) is there a way to make the connection not read
> only ?
>
>
>
> *From:* James Taylor [mailto:jamestaylor@apache.org]
> *Sent:* Sunday, December 3, 2017 5:18 PM
> *To:* user@phoenix.apache.org
> *Subject:* Re: upsert data with specific timestamp using CurrentSCN fail
> with error java.sql.SQLException: ERROR 518 (25502): Mutations are not
> permitted for a read-only connection.
>
>
>
> The CurrentSCN property may only be used for reading, not writing as of
> 4.13. We found that this kind of rewriting of history causes indexes to
> become corrupted. The documentation needs to be updated.
>
>
>
> On Sun, Dec 3, 2017 at 7:07 AM Bulvik, Noam <No...@teoco.com> wrote:
>
> Hi,
>
>
>
> I want to upset historic data to a table with indexes, I have there TTL
> defined and I want to load the data as if it was loaded in the correct time
> so it will be cleaned automatically using the TTL mechanism. I implemented
> a small java code to load the data after setting "CurrentSCN" to older date
> ( based on this link
> https://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API
> )
>
>
>
> But I get java.sql.SQLException: ERROR 518 (25502): Mutations are not
> permitted for a read-only connection on each upset. The same code without
> setting CurrentSCN property works fine
>
>
>
> I am using phoenix 4.13.1 – is this a bug? If not , is there something
> missing in the documentation on how to set "CurrentSCN"
>
>
>
> Regards,
>
>
>
> *Noam *
>
>
>
>
>
>
> ------------------------------
>
>
> PRIVILEGED AND CONFIDENTIAL
> PLEASE NOTE: The information contained in this message is privileged and
> confidential, and is intended only for the use of the individual to whom it
> is addressed and others who have been specifically authorized to receive
> it. If you are not the intended recipient, you are hereby notified that any
> dissemination, distribution or copying of this communication is strictly
> prohibited. If you have received this communication in error, or if any
> problems occur with transmission, please contact sender. Thank you.
>
>
> ------------------------------
>
> PRIVILEGED AND CONFIDENTIAL
> PLEASE NOTE: The information contained in this message is privileged and
> confidential, and is intended only for the use of the individual to whom it
> is addressed and others who have been specifically authorized to receive
> it. If you are not the intended recipient, you are hereby notified that any
> dissemination, distribution or copying of this communication is strictly
> prohibited. If you have received this communication in error, or if any
> problems occur with transmission, please contact sender. Thank you.
>

RE: upsert data with specific timestamp using CurrentSCN fail with error java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection.

Posted by "Bulvik, Noam" <No...@teoco.com>.
Assuming I won’t have index on this table at upsert time (I may build them later using the index tool) is there a way to make the connection not read only ?

From: James Taylor [mailto:jamestaylor@apache.org]
Sent: Sunday, December 3, 2017 5:18 PM
To: user@phoenix.apache.org
Subject: Re: upsert data with specific timestamp using CurrentSCN fail with error java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection.

The CurrentSCN property may only be used for reading, not writing as of 4.13. We found that this kind of rewriting of history causes indexes to become corrupted. The documentation needs to be updated.

On Sun, Dec 3, 2017 at 7:07 AM Bulvik, Noam <No...@teoco.com>> wrote:
Hi,

I want to upset historic data to a table with indexes, I have there TTL defined and I want to load the data as if it was loaded in the correct time so it will be cleaned automatically using the TTL mechanism. I implemented a small java code to load the data after setting "CurrentSCN" to older date ( based on this link https://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API)

But I get java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection on each upset. The same code without setting CurrentSCN property works fine

I am using phoenix 4.13.1 – is this a bug? If not , is there something missing in the documentation on how to set "CurrentSCN"

Regards,

Noam



________________________________

PRIVILEGED AND CONFIDENTIAL
PLEASE NOTE: The information contained in this message is privileged and confidential, and is intended only for the use of the individual to whom it is addressed and others who have been specifically authorized to receive it. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, or if any problems occur with transmission, please contact sender. Thank you.

________________________________

PRIVILEGED AND CONFIDENTIAL
PLEASE NOTE: The information contained in this message is privileged and confidential, and is intended only for the use of the individual to whom it is addressed and others who have been specifically authorized to receive it. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, or if any problems occur with transmission, please contact sender. Thank you.

Re: upsert data with specific timestamp using CurrentSCN fail with error java.sql.SQLException: ERROR 518 (25502): Mutations are not permitted for a read-only connection.

Posted by James Taylor <ja...@apache.org>.
The CurrentSCN property may only be used for reading, not writing as of
4.13. We found that this kind of rewriting of history causes indexes to
become corrupted. The documentation needs to be updated.

On Sun, Dec 3, 2017 at 7:07 AM Bulvik, Noam <No...@teoco.com> wrote:

> Hi,
>
>
>
> I want to upset historic data to a table with indexes, I have there TTL
> defined and I want to load the data as if it was loaded in the correct time
> so it will be cleaned automatically using the TTL mechanism. I implemented
> a small java code to load the data after setting "CurrentSCN" to older date
> ( based on this link
> https://phoenix.apache.org/faq.html#Can_phoenix_work_on_tables_with_arbitrary_timestamp_as_flexible_as_HBase_API
> )
>
>
>
> But I get java.sql.SQLException: ERROR 518 (25502): Mutations are not
> permitted for a read-only connection on each upset. The same code without
> setting CurrentSCN property works fine
>
>
>
> I am using phoenix 4.13.1 – is this a bug? If not , is there something
> missing in the documentation on how to set "CurrentSCN"
>
>
>
> Regards,
>
>
>
> *Noam *
>
>
>
>
>
> ------------------------------
>
> PRIVILEGED AND CONFIDENTIAL
> PLEASE NOTE: The information contained in this message is privileged and
> confidential, and is intended only for the use of the individual to whom it
> is addressed and others who have been specifically authorized to receive
> it. If you are not the intended recipient, you are hereby notified that any
> dissemination, distribution or copying of this communication is strictly
> prohibited. If you have received this communication in error, or if any
> problems occur with transmission, please contact sender. Thank you.
>