Try setting the UPDATE_CACHE_FREQUENCY table property (and configuring the phoenix.default.update.cache.frequency system-wide property). That'll prevent pinging the region hosting SYSTEM.CATALOG every time a query is compiled. We've found value of even 5 seconds makes a big difference. For more on that, see here[1] and here[2].
In the future, we'll let the SYSTEM.CATALOG table span multiple regions - keep an eye on PHOENIX-3534. Thanks, James [1] https://phoenix.apache.org/#Altering [2] https://phoenix.apache.org/language/index.html#options On Thu, Apr 12, 2018 at 10:32 PM, anil gupta <anilgupt...@gmail.com> wrote: > Hi All, > > System.catalog table seems to be single region table(correct?). We are > currently facing a problem of hotspot on System.catalog table. > One of our app does around 4-5k select queries/sec. And, It is creating a > new preparedstatement everytime. I suspect that while instantiating a new > preparedstatement(contrary to Statement), system.catalog table is queried > first. Hence, it is resulting into hotspotting. Is my analysis correct? > > (I have already suggested my colleagues to try using Statement instead of > PS if they have to create a new one everytime.) > > -- > Thanks & Regards, > Anil Gupta >