[
https://issues.apache.org/jira/browse/PHOENIX-1395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14202556#comment-14202556
]
Alicia Ying Shu edited comment on PHOENIX-1395 at 11/7/14 7:58 PM:
-------------------------------------------------------------------
Thanks Nick and Samarth for suggestions. Had a discussion with Enis. We could
borrow HBase RS handles expiring leases idea and associate the tmp files with
leases (or TTLs). To do this, different clients need to have their own
directories in the tmp directory so that we can reliably distinguish files
generated by different clients. There should be a daemon thread (or the-like)
in the client monitoring those directories and delete files whose leases have
expired or files generated by clients that have died.
Two alternative directory structures as below. For option 1 will have a file
system lock file associate with it to find out whether a particular client died
or not. Option 2 can use native support to check live processes.
1) /tmp/clientId/
2) /tmp/processId/
was (Author: aliciashu):
Thanks Nick and Samarth for suggestions. Had a discussion with Enis. We could
borrow HBase RS handles expiring leases idea and associate the tmp files with
leases (or TTLs). To do this, different clients need to have their own
directories in the tmp directory so that we can reliably distinguish files
generated by different clients. There should be a daemon thread (or the-like)
in the client monitoring those directories and delete files whose leases have
expired or files generated by clients that have died.
Two alternative directory structures as below. For option 1 will have a file
system lock file associate with it to find out whether a particular client died
or not. Option 2 can use native support to check live processes.
1) /tmp/clientId/
2) tmp/processId/
> ResultSpooler spill files are left behind in /tmp folder
> --------------------------------------------------------
>
> Key: PHOENIX-1395
> URL: https://issues.apache.org/jira/browse/PHOENIX-1395
> Project: Phoenix
> Issue Type: Bug
> Reporter: Jeffrey Zhong
> Assignee: Alicia Ying Shu
> Fix For: 4.2
>
> Attachments: PHOENIX-1395.patch
>
>
> Recently we found that some ResultSpooler*.bin files left in the tmp folder.
> I think those are due to some client code doesn't call close on the returned
> Resultset(which internally will invoke underlying
> OnDiskResultIterator.close()) or client code get killed during result
> iterating.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)