Support Questions

Find answers, ask questions, and share your expertise

multiple problems using Phoenix 4.7 in the current Hortonworks distribution

New Contributor


We have been trying to use HBase and Phoenix (4.7) in the current Hortonworks distribution for a genomics database, moving a current Postgres set of tables into that framework. We are using a small commodity cluster, nothing unusual. However, we are having critical problems that I was not expecting. Even on a simple table (less than 20 fields), we can not get global indexes to work when retrieving other fields outside the index - forcing use via a "Hint" in the command has not been working. No joins involved, just querying a single table. And we just tried using local indexes to get around that. But we are finding that when we try to use more than one local index, none of the indexes get used. Alas, we need secondary indexes, even with denormalization.

We have noted that the version of Phoenix (4.7) in Hortonworks is now over two years old (4.7.0 came out in March 2016). And while I do see that Hortonworks has added some patches to 4.7, the Apache release is now up to 4.13.2, with 4.14 coming out soon.

I've been told that there are probably on the order of a thousand bug fixes and many new features between 4.7 and 4.13. A senior Biomed Informatics group lead here just tried to upgrade our 4.7 version manually on our cluster, doing file by file replacement following some blog post instructions that he found. Did not work; we reverted back to the orig config. He, working with another senior IT group lead, are currently spinning up a test environment in the Amazon cloud using the latest release there (4.13), to see if these problems go away.

I have to tell you, we were not expecting to have these very basic problems with a well-established top-level Apache project, in a distribution from one of the top three Hadoop vendors. The Phoenix Query Server is working fine for us, but resolving these indexing issues is critical. We need to make a decision quickly now as to where to migrate, because we are expecting a huge increase in the data we will need to store and query in the coming months. Right now, I have a couple general questions for the group:

1) is anyone else experiencing basic problems with the Hortonworks version of Phoenix? Or have you been able to use it productively?

2) what is the future of Phoenix (and HBase) in the Hortonworks distribution? We recently had a web presentation by Hortonworks folks on the new software that they are developing for data warehouses in the cloud that does does not involve HBase and Phoenix (specific use case presented used genomic data). Sounded like a lot of effort was going in that direction. At this point, I am worried about the support Hortonworks will be giving Phoenix and HBase in the future, even if we can finally resolve our current indexing problem.

3) and, of course, if anyone has encountered the same specific type of Phoenix indexing problems and managed to fix them, we would very much like to learn how that was done. Of particular note: have other groups managed to get global indexes used by inserting "Hints" to do so - and to do such to employ multiple indexes in the same query?

Any sharing of your experiences and/or guidance would be appreciated.

- Ron Taylor


Master Collaborator

hi Ron

I am also using Phoenix 4.7 and I am having a different issue with HBASE which so far is unresolved . If I try to read a data into hbase using sqoop where the data has multiple versions then hbase is only saving 3 versions.


we also encountered many bugs with 4.7 and we had to manually upgrade phoenix. However they have fixed bugs with latest Hortonworks distribution but the version number still remains at 4.7

New Contributor
@sanket patel

Hello Sanket,

It's good to know that you can successfully upgrade Phoenix in HDP. And glad to hear that Hortonworks has fixed at least some bugs in Phoenix 4,7. However, we are still encountering errors using the current distribution, as I described, and thus want to try to manually upgrade. I found this bash code snippet on Github at


under the title
"Upgrade to Apache Phoenix 4.11.0 on HDP"
#!/usr/bin/env bash
cd /tmp
tar -xvf apache-phoenix-4.12.0-HBase-1.1-bin.tar.gz
cp -r apache-phoenix-4.12.0-HBase-1.1-bin ${HDP_INSTALL_PATH}/apache-phoenix-4.12.0
rm -rf apache-phoenix-4.12.0-HBase-1.1-bin.tar.gz
rm -rf apache-phoenix-4.12.0-HBase-1.1-bin

all_files=(${HDP_INSTALL_PATH}/phoenix/phoenix-client.jar ${HDP_INSTALL_PATH}/phoenix/phoenix-hive.jar ${HDP_INSTALL_PATH}/phoenix/phoenix-server.jar ${HDP_INSTALL_PATH}/phoenix/phoenix-thin-client.jar ${HDP_INSTALL_PATH}/hbase/lib/phoenix-server.jar)

for upd_file in "${all_files[@]}"
	rm -rf ${upd_file}
cd ${HDP_INSTALL_PATH}/phoenix
ln -s ${PHOENIX_INSTALL_DIR}/phoenix-4.12.0-HBase-1.1-client.jar phoenix-client.jar
ln -s ${PHOENIX_INSTALL_DIR}/phoenix-4.12.0-HBase-1.1-hive.jar phoenix-hive.jar
ln -s ${PHOENIX_INSTALL_DIR}/phoenix-4.12.0-HBase-1.1-server.jar phoenix-server.jar
ln -s ${PHOENIX_INSTALL_DIR}/phoenix-4.12.0-HBase-1.1-thin-client.jar phoenix-thin-client.jar
chmod -R 755 ${HDP_INSTALL_PATH}/phoenix
cd ${HDP_INSTALL_PATH}/hbase/lib
ln -s ${PHOENIX_INSTALL_DIR}/phoenix-4.12.0-HBase-1.1-server.jar phoenix-server.jar
echo "Done"

Do you think we can use that as a template? Is is missing anything that needs to be done, based on your experience?


I have used something similar only. You can use this template or what I used ( The only thing is see what you're doing before actually doing it. And try to make sense out of it.

Take a Tour of the Community
Don't have an account?
Your experience may be limited. Sign in to explore more.