[ 
https://issues.apache.org/jira/browse/PHOENIX-881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13942445#comment-13942445
 ] 

Jeffrey Zhong commented on PHOENIX-881:
---------------------------------------

Thanks [~giacomotaylor] for the reviews. 

{quote}
can you remove that, or do tests fail without it?
{quote}
Yes, I can remove it. It's just a safety step as the invalid cache caused me 
lots of trouble before.

{quote}
We should file a JIRA for that - I don't think it's a blocker b/c as you 
mentioned, in these cases you can put the info in the hbase-sites.xml.
{quote}
Basically a valid quorum string is comma separated host:port pairs like 
host1:port1,host2:port2....  so that will totally blow out our parsing code. I 
can file a JIRA on that to change our JDBC url separator in the future.

{quote}
It's difficult for me to evaluate the MetaDataEndPointImpl change
{quote}

Below I pasted all the changes for MetaDataEndPointImpl.java
{noformat}
--- 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
+++ 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
@@ -700,6 +700,7 @@ public class MetaDataEndpointImpl extends MetaDataProtocol 
implements Coprocesso
         HRegion region = env.getRegion();
         Cache<ImmutableBytesPtr,PTable> metaDataCache = 
GlobalCache.getInstance(this.env).getMetaDataCache();
         PTable table = metaDataCache.getIfPresent(cacheKey);
+
         // We always cache the latest version - fault in if not in cache
         if (table != null || (table = buildTable(key, cacheKey, region, 
asOfTimeStamp)) != null) {
             return table;
@@ -988,9 +989,14 @@ public class MetaDataEndpointImpl extends MetaDataProtocol 
implements Coprocesso
                         EnvironmentEdgeManager.currentTimeMillis(), null);
             }
         }
-        if (table == null && buildDeletedTable(key, cacheKey, region, 
clientTimeStamp) != null) {
-            return new MetaDataMutationResult(MutationCode.NEWER_TABLE_FOUND,
+        if (table == null) {
+            if(buildDeletedTable(key, cacheKey, region, clientTimeStamp) != 
null) {
+                return new 
MetaDataMutationResult(MutationCode.NEWER_TABLE_FOUND,
                     EnvironmentEdgeManager.currentTimeMillis(), null);
+            } else {
+                return new MetaDataMutationResult(MutationCode.TABLE_NOT_FOUND,
+                  EnvironmentEdgeManager.currentTimeMillis(), null);
+            }
         }
         // Get mutations for main table.
         Scan scan = newTableRowsScan(key, MIN_TABLE_TIMESTAMP, 
clientTimeStamp);
{noformat}

> end2end test fails to run against a live cluster using end2endtest.py
> ---------------------------------------------------------------------
>
>                 Key: PHOENIX-881
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-881
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 4.0.0
>            Reporter: Jeffrey Zhong
>            Assignee: Jeffrey Zhong
>         Attachments: phoenix-881.patch
>
>
> In most IT tests, we're using constant PHOENIX_JDBC_URL instead of 
> BaseConnectedQueryIT#getUrl() which will return correct url depending where 
> the test is running against. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to