phoenix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samarth Jain <sama...@apache.org>
Subject Re: Phoenix 4.4 to 4.6 Client Errors
Date Fri, 16 Oct 2015 23:31:06 GMT
Thanks for reporting back, Mark. I have checked in the updated patch that
should fix the error you are running into. After the fix (
https://github.com/apache/phoenix/commit/416c860f7d9f3490d46169fa74656994b4fe27a8),
I was able to successfully upgrade from 4.4 to 4.6 version of Phoenix.

On Fri, Oct 16, 2015 at 1:06 PM, James Taylor <jamestaylor@apache.org>
wrote:

> You'll likely need the addendum patch on that JIRA too, but Samarth could
> confirm.
>
>
> On Friday, October 16, 2015, James Taylor <jamestaylor@apache.org> wrote:
>
>> Yes, you'd need that too.
>>
>> On Friday, October 16, 2015, Mark Tse <Mark.Tse@d2l.com> wrote:
>>
>>> Hi James,
>>>
>>>
>>>
>>> We tried taking build #866 (
>>> https://builds.apache.org/view/All/job/Phoenix-4.x-HBase-0.98/866/),
>>> and we are still getting the same error.
>>>
>>>
>>>
>>> Is it possible we also need the changes at
>>> https://github.com/apache/phoenix/commit/567218ad2520869e8912b61f687305c81aa919cd
>>> ?
>>>
>>>
>>>
>>> Mark Tse
>>>
>>>
>>>
>>> *From:* James Taylor [mailto:jamestaylor@apache.org]
>>> *Sent:* Thursday, October 15, 2015 3:21 PM
>>> *To:* user <user@phoenix.apache.org>
>>> *Subject:* Re: Phoenix 4.4 to 4.6 Client Errors
>>>
>>>
>>>
>>> Good catch, Mark. I filed PHOENIX-2326. We'll get this tweaked before we
>>> cut the RC.
>>>
>>>
>>>
>>> On Thu, Oct 15, 2015 at 12:15 PM, Mark Tse <Mark.Tse@d2l.com> wrote:
>>>
>>> Hi everyone,
>>>
>>>
>>>
>>> I currently have Phoenix 4.4 installed on HBase 0.98, and am trying out
>>> a Phoenix 4.6 build (
>>> https://builds.apache.org/view/All/job/Phoenix-4.x-HBase-0.98/861/). I
>>> took the following steps:
>>>
>>>
>>>
>>> - Replace the Phoenix 4.4 server jars in HBase lib folders for HBase
>>> master and RegionServers
>>>
>>> - Restart HBase master and RegionServers
>>>
>>>
>>>
>>> Attempting to connect with the Phoenix 4.6 client jar and sqlline.py
>>> causes the following error:
>>>
>>>
>>>
>>> 15/10/15 18:37:02 WARN query.ConnectionQueryServicesImpl: Add column
>>> failed due to:org.apache.phoenix.schema.ColumnNotFoundException: ERROR 504
>>> (42703): Undefined column. columnName=IS_ROW_TIMESTAMP
>>>
>>> Error: ERROR 504 (42703): Undefined column. columnName=IS_ROW_TIMESTAMP
>>> (state=42703,code=504)
>>>
>>> org.apache.phoenix.schema.ColumnNotFoundException: ERROR 504 (42703):
>>> Undefined column. columnName=IS_ROW_TIMESTAMP
>>>
>>>         at
>>> org.apache.phoenix.schema.PTableImpl.getColumn(PTableImpl.java:647)
>>>
>>>         at
>>> org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.resolveColumn(FromCompiler.java:361)
>>>
>>>         at
>>> org.apache.phoenix.compile.UpsertCompiler.compile(UpsertCompiler.java:386)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:550)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableUpsertStatement.compilePlan(PhoenixStatement.java:538)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:318)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:311)
>>>
>>>         at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:309)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:239)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:172)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:177)
>>>
>>>         at
>>> org.apache.phoenix.schema.MetaDataClient.addColumnMutation(MetaDataClient.java:685)
>>>
>>>         at
>>> org.apache.phoenix.schema.MetaDataClient.addColumn(MetaDataClient.java:2526)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableAddColumnStatement$1.execute(PhoenixStatement.java:1055)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:319)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:311)
>>>
>>>         at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:309)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1368)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl.addColumn(ConnectionQueryServicesImpl.java:1864)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl.addColumnsIfNotExists(ConnectionQueryServicesImpl.java:1890)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl.access$500(ConnectionQueryServicesImpl.java:179)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1979)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:1896)
>>>
>>>         at
>>> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:78)
>>>
>>>         at
>>> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1896)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:180)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:132)
>>>
>>>         at
>>> org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:151)
>>>
>>>         at
>>> sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
>>>
>>>         at
>>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
>>>
>>>         at sqlline.Commands.connect(Commands.java:1064)
>>>
>>>         at sqlline.Commands.connect(Commands.java:996)
>>>
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>
>>>         at java.lang.reflect.Method.invoke(Method.java:483)
>>>
>>>         at
>>> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)
>>>
>>>         at sqlline.SqlLine.dispatch(SqlLine.java:804)
>>>
>>>         at sqlline.SqlLine.initArgs(SqlLine.java:588)
>>>
>>>         at sqlline.SqlLine.begin(SqlLine.java:656)
>>>
>>>         at sqlline.SqlLine.start(SqlLine.java:398)
>>>
>>>         at sqlline.SqlLine.main(SqlLine.java:292)
>>>
>>> sqlline version 1.1.8
>>>
>>>
>>>
>>>
>>>
>>> However, I was able to connect using the Phoenix 4.5 client jar and
>>> sqlline.py. Furthermore, after connecting once, I was able to connect using
>>> the Phoenix 4.6 client jar and sqlline.py, but sqlline.py identifies the
>>> server and client as “Phoenix 4.5”.
>>>
>>>
>>>
>>> Looking at
>>> https://github.com/apache/phoenix/blob/c2cb510048fb07792d4639f211e98b8a95281f2f/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L1937,
>>> it looks like we do some checking on the version before creating some
>>> metadata.
>>>
>>>
>>>
>>> Is there a reason the client jars from the build were not identified as
>>> greater than or equal to 4.6? Or is there something else going on?
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Mark
>>>
>>>
>>>
>>>
>>>
>>

Mime
View raw message