GitHub user m2je opened a pull request:
https://github.com/apache/phoenix/pull/324
PHOENIX-3547 Supporting more number of indices per table.
Currently the number of indices per Phoenix table is bound to maximum of
65535 (java.lang.Short) which is a limitation for applications requiring to
have unlimited number of indices.
This change will consider any new table created in Phoenix to support view
index ids to be in the range of -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 (java.lang.Long) which is undoubtably big enough to
cover this requirement.
Any existing Phoenix table will still continue to support only maximum of
65535 of indices.
A new int column (VIEW_INDEX_ID_DATA_TYPE TINYINT) is added to
SYSTEM.CATALOG to specify each Phoenix table's viewIndex data type.
On each new Phoenix table creation the value for VIEW_INDEX_ID_DATA_TYPE
will be set to `Long` while this value would be `Short` for any existing table.
According to Protobuf documentation
https://developers.google.com/protocol-buffers/docs/proto#updating we can
change the type of viewIndexId from int32 to int64 and maintain the backward
compatibility for older client. We did a manual verification for this scenario
by
creating a view with the old client and verify the new client is able to
connect and read/write to the view after changing the viewIndexId type and
adding the viewIndexType.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/m2je/phoenix master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/phoenix/pull/324.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #324
----
commit f1ffcf6b76a0a764df5529a03ba8dc42112dc5a9
Author: Mahdi Salarkia <msalarkia@...>
Date: 2018-07-28T05:27:46Z
PHOENIX-3547 Supporting more number of indices per table.
Currently the number of indices per Phoenix table is bound to maximum of
65535 (java.lang.Short) which is a limitation for applications requiring to
have unlimited number of indices.
This change will consider any new table created in Phoenix to support view
index ids to be in the range of -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 (java.lang.Long) which is undoubtably big enough to
cover this requirement.
Any existing Phoenix table will still continue to support only maximum of
65535 of indices.
A new boolean column (USE_LONG_VIEW_INDEX BOOLEAN DEFAULT FALSE) is added
to SYSTEM.CATALOG to specify each Phoenix table's support for large number of
indices.
On each new Phoenix table creation the value for USE_LONG_VIEW_INDEX will
be set to `true` while this value would be false for any existing table.
commit 394ccf8512fd4d8fcfb1ddbb5d4126861111ba9c
Author: Mahdi Salarkia <msalarkia@...>
Date: 2018-07-28T05:27:46Z
PHOENIX-3547 Supporting more number of indices per table.
Currently the number of indices per Phoenix table is bound to maximum of
65535 (java.lang.Short) which is a limitation for applications requiring to
have unlimited number of indices.
This change will consider any new table created in Phoenix to support view
index ids to be in the range of -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 (java.lang.Long) which is undoubtably big enough to
cover this requirement.
Any existing Phoenix table will still continue to support only maximum of
65535 of indices.
A new boolean column (USE_LONG_VIEW_INDEX BOOLEAN DEFAULT FALSE) is added
to SYSTEM.CATALOG to specify each Phoenix table's support for large number of
indices.
On each new Phoenix table creation the value for USE_LONG_VIEW_INDEX will
be set to `true` while this value would be false for any existing table.
commit 8b270b86d8779369829e65119227c6f194eae20f
Author: Thomas D'Silva <tdsilva@...>
Date: 2018-07-28T18:49:08Z
PHOENIX-4824 Update BRANCH_NAMES in dev/test-patch.properties
commit 1b2457066ba374efff8062406d9271394932c5a2
Author: Ankit Singhal <ankitsinghal59@...>
Date: 2018-07-30T20:51:43Z
PHOENIX-4825 Replace usage of HBase Base64 implementation with
java.util.Base64
commit 0126a934488f935459cb1a4a7ee0948c263b4456
Author: Ankit Singhal <ankitsinghal59@...>
Date: 2018-07-30T20:52:21Z
PHOENIX-4826 Changes to support HBase 2.0.1
commit 38021c78f5531e89f0dce70de0b155fbc8342e6d
Author: Josh Elser <elserj@...>
Date: 2018-07-31T19:53:11Z
PHOENIX-4822 Ensure the provided timezone is used client-side (Jaanai Zhang)
commit fe9c079441b52f4dc1ca504a12ea5359e605ea0c
Author: Gerald Sangudi <gsangudi@...>
Date: 2018-06-14T19:49:30Z
PHOENIX-4751 Implement client-side hash aggregation
commit d19051733af1e8d47389dd6d49dde4af17aa3296
Author: Thomas D'Silva <tdsilva@...>
Date: 2018-07-24T17:49:31Z
PHOENIX-4799 Write cells using checkAndMutate to prevent conflicting changes
commit c98097cc692f3d82827427e4c96687a71e8ded17
Author: Mahdi Salarkia <msalarkia@...>
Date: 2018-07-28T05:27:46Z
PHOENIX-3547 Supporting more number of indices per table.
Currently the number of indices per Phoenix table is bound to maximum of
65535 (java.lang.Short) which is a limitation for applications requiring to
have unlimited number of indices.
This change will consider any new table created in Phoenix to support view
index ids to be in the range of -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 (java.lang.Long) which is undoubtably big enough to
cover this requirement.
Any existing Phoenix table will still continue to support only maximum of
65535 of indices.
A new int column (VIEW_INDEX_ID_DATA_TYPE TINYINT) is added to
SYSTEM.CATALOG to specify each Phoenix table's vewIndex data type.
On each new Phoenix table creation the value for VIEW_INDEX_ID_DATA_TYPE
will be set to `Long` while this value would be `Short` for any existing table.
commit 9846a6c46813715f7363b5d635b92fcd5f500536
Author: Jimmy Casey <casey.jimmy@...>
Date: 2018-07-29T21:43:55Z
PHOENIX-4822 Fixed Spelling.
Closes #318
Signed-off-by: Josh Elser <[email protected]>
commit e8e604ea4ac4c31b9535eced66cda6a2ffda6741
Author: Xu Cang <xcang@...>
Date: 2018-08-07T06:56:00Z
PHOENIX-4647 Column header doesn't handle optional arguments correctly
commit 332c9aa07359d812fb89ac48fef34b07b868f5a8
Author: Karan Mehta <karanmehta93@...>
Date: 2018-08-07T22:47:33Z
PHOENIX-4834 PhoenixMetricsLog interface methods should not depend on
specific logger
commit 9d2175b3211d3a1771a1db541fdf28dcbdcd751e
Author: Karan Mehta <karanmehta93@...>
Date: 2018-08-08T20:18:50Z
PHOENIX-4805 Move Avatica version to 1.12 for PQS
commit 6ae5cb0c8107235b02677825f94e4aed29d7987c
Author: Thomas D'Silva <tdsilva@...>
Date: 2018-08-10T00:33:09Z
PHOENIX-4843 InListExpression toString() converts the values in the list to
ASC sort order always
commit 29c402224850e92fd8a9285509d54b8acce512fc
Author: Mahdi Salarkia <msalarkia@...>
Date: 2018-08-14T22:32:19Z
PHOENIX-3547 Supporting more number of indices per table.
Currently the number of indices per Phoenix table is bound to maximum of
65535 (java.lang.Short) which is a limitation for applications requiring to
have unlimited number of indices.
This change will consider any new table created in Phoenix to support view
index ids to be in the range of -9,223,372,036,854,775,808 to
9,223,372,036,854,775,807 (java.lang.Long) which is undoubtably big enough to
cover this requirement.
Any existing Phoenix table will still continue to support only maximum of
65535 of indices.
A new int column (VIEW_INDEX_ID_DATA_TYPE TINYINT) is added to
SYSTEM.CATALOG to specify each Phoenix table's vewIndex data type.
On each new Phoenix table creation the value for VIEW_INDEX_ID_DATA_TYPE
will be set to `Long` while this value would be `Short` for any existing table.
----
---