You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Mark S (JIRA)" <ji...@apache.org> on 2016/04/21 20:08:25 UTC

[jira] [Created] (PHOENIX-2850) Out of disk space due to *.tmp files

Mark S created PHOENIX-2850:
-------------------------------

             Summary: Out of disk space due to *.tmp files
                 Key: PHOENIX-2850
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2850
             Project: Phoenix
          Issue Type: Bug
    Affects Versions: 4.4.0
         Environment: Windows host that is connecting (Via a Wildfly JEE server) to a Hortanworks Apache Phoenix Cluster (HDP 2.4).
            Reporter: Mark S
            Priority: Blocker


So I did some debugging and found the code responsible for these *.tmp files being created ({{File.createTempFile(UUID.randomUUID().toString(), null)}}).  Unfortunately, have no idea as to why these files are not removed.

h4. Source

https://github.com/hortonworks/phoenix-release/blob/HDP-2.4.0.0-tag/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java#L304

{code:java|title=org.apache.phoenix.iterate.MappedByteBufferQueue$MappedByteBufferSegmentQueue}
private void flush(T entry) throws IOException {
  Queue<T> inMemQueue = getInMemoryQueue();
  int resultSize = sizeOf(entry);
  maxResultSize = Math.max(maxResultSize, resultSize);
  totalResultSize = hasMaxQueueSize ? maxResultSize * inMemQueue.size() : (totalResultSize + resultSize);
  if (totalResultSize >= thresholdBytes) {
    this.file = File.createTempFile(UUID.randomUUID().toString(), null);
    RandomAccessFile af = new RandomAccessFile(file, "rw");
    FileChannel fc = af.getChannel();
    int writeIndex = 0;
    mappingSize = Math.min(Math.max(maxResultSize, DEFAULT_MAPPING_SIZE), totalResultSize);
    MappedByteBuffer writeBuffer = fc.map(MapMode.READ_WRITE, writeIndex, mappingSize);
{code}


h4. Example file names (C:\Users\username\AppData\Local\Temp):

7a0967de-9dff-432b-bcfe-de30bc630add5176202498513378657.tmp
813e40e1-afa9-4847-919c-7c55f95f8a475501154042645376476.tmp
1329da43-561d-4e68-9120-56bd650a6ac98781585316402092121.tmp

h4. My SQL Query

{code:sql}
String sql =
  "SELECT TR.ID"
    + "  ,TR.CLIENT_ID"
    + "  ,TR.BRAND_ID"
    + "  ,TR.SITE_ID"
    + "  ,TR.EMAIL"
    + "  ,COUNT(TS2.ID) + MAX(TR.repeatBrandShortVisit) AS repeatBrandShortVisit"
    + "  ,SUM(CASE WHEN TS2.SESSION_TYPE = 1 THEN 1 ELSE 0 END) + MAX(TR.repeatBrandLongVisit) AS repeatBrandLongVisit"
    + "  ,SUM(CASE WHEN TS2.SITE_ID = TR.SITE_ID THEN 1 ELSE 0 END) + MAX(TR.repeatSiteShortVisit) AS repeatSiteShortVisit"
    + "  ,SUM(CASE WHEN TS2.SITE_ID = TR.SITE_ID AND TS2.SESSION_TYPE = 1 THEN 1 ELSE 0 END) + MAX(TR.repeatSiteLongVisit) AS repeatSiteLongVisit"
    + "  FROM ("
    + "  SELECT TSE.ID"
    + "      ,TSE.CLIENT_ID"
    + "      ,TSE.BRAND_ID"
    + "      ,TSE.SITE_ID"
    + "      ,TSE.EMAIL"
    + "      ,COUNT(TS1.ID) AS repeatBrandShortVisit"
    + "      ,SUM(CASE WHEN TS1.SESSION_TYPE = 1 THEN 1 ELSE 0 END) AS repeatBrandLongVisit"
    + "      ,SUM(CASE WHEN TS1.SITE_ID = TSE.SITE_ID THEN 1 ELSE 0 END) AS repeatSiteShortVisit"
    + "      ,SUM(CASE WHEN TS1.SITE_ID = TSE.SITE_ID AND TS1.SESSION_TYPE = 1 THEN 1 ELSE 0 END) AS repeatSiteLongVisit"
    + "  FROM ("
    + "      SELECT ID"
    + "          ,CLIENT_ID"
    + "          ,BRAND_ID"
    + "          ,SITE_ID"
    + "          ,EMAIL"
    + "      FROM user.SESSION_EXPIRATION "
    + "      WHERE NEXT_CHECK <= CURRENT_TIME()"
    + "      LIMIT " + batchSize
    + "      ) AS TSE"
    + "  LEFT OUTER JOIN user.SESSION TS1"
    + "      ON TS1.CLIENT_ID = TSE.CLIENT_ID"
    + "      AND TS1.BRAND_ID = TSE.BRAND_ID"
    + "  GROUP BY TSE.ID"
    + "      ,TSE.CLIENT_ID"
    + "      ,TSE.BRAND_ID"
    + "      ,TSE.SITE_ID"
    + "      ,TSE.EMAIL"
    + "  ) AS TR"
    + "  LEFT OUTER JOIN user.SESSION TS2"
    + "      ON TS2.EMAIL = TR.EMAIL"
    + "      AND TS2.BRAND_ID = TR.BRAND_ID"
    + "  GROUP BY TR.ID"
    + "  ,TR.CLIENT_ID"
    + "  ,TR.BRAND_ID"
    + "  ,TR.SITE_ID"
    + "  ,TR.EMAIL";
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)