phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ChinmaySKulkarni <...@git.apache.org>
Subject [GitHub] phoenix issue #295: PHOENIX-4579: Add a config to conditionally create Phoen...
Date Mon, 26 Mar 2018 22:16:08 GMT
Github user ChinmaySKulkarni commented on the issue:

    https://github.com/apache/phoenix/pull/295
  
    @JamesRTaylor Ok cool. I've made the changes so checks are inside _ensureTableCreated_.
Please take a look now. 
    One thing that's confusing me is that inside our _init_ method at the moment, if an upgrade
is not required, we create all other SYSTEM tables, however we don't map them to the SYSTEM
namespace at that point. 
    As of now, when the server gets connected to for the first time i.e. no SYSTEM tables
exist, we call
    _ensureSystemTablesMigratedToSystemNamespace_, but this just creates the HBase SYSTEM
namespace and returns without migrating tables since they haven't been created yet. However,
later on when we do create other SYSTEM tables, we aren't migrating them to the SYSTEM namespace
right away. 
    
    Now, as per the current design, whenever another client with NS-mapping enabled connects
to the server, we will migrate these SYSTEM tables to the SYSTEM namespace when _ensureSystemTablesMigratedToSystemNamespace_
is called within _init_ (with my PR, this will be called inside _ensureTableCreated_ when
the table is SYSTEM.CATALOG and NS-mapping is enabled, instead of in _init_). My question
is, shouldn't we map SYSTEM tables to the SYSTEM namespace immediately after creating them?



---

Mime
View raw message