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 <[email protected]> wrote: > You'll likely need the addendum patch on that JIRA too, but Samarth could > confirm. > > > On Friday, October 16, 2015, James Taylor <[email protected]> wrote: > >> Yes, you'd need that too. >> >> On Friday, October 16, 2015, Mark Tse <[email protected]> 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:[email protected]] >>> *Sent:* Thursday, October 15, 2015 3:21 PM >>> *To:* user <[email protected]> >>> *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 <[email protected]> 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 >>> >>> >>> >>> >>> >>
