[
https://issues.apache.org/jira/browse/ARROW-13644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17400238#comment-17400238
]
Weston Pace commented on ARROW-13644:
-------------------------------------
A semaphore will allow me to control how many files I'm writing to at once but
not how many files I have open (whether I am writing to them or not). I need
to close the old files so that the file handle is returned to the OS. That
means closing the writer and starting a new file later if more data comes in
for that file.
> [C++] Create LruCache that works with futures
> ---------------------------------------------
>
> Key: ARROW-13644
> URL: https://issues.apache.org/jira/browse/ARROW-13644
> Project: Apache Arrow
> Issue Type: Sub-task
> Components: C++
> Reporter: Weston Pace
> Assignee: Weston Pace
> Priority: Major
>
> The dataset writer needs an LRU cache to keep track of open files so that it
> can respect a "max open files" property (see ARROW-12321). A synchronous
> LruCache implementation already exists but on eviction from the cache we need
> to wait until all pending writes have completed before we evict the item and
> open a new file. This ticket is to create an AsyncLruCache which will allow
> the creation of items and the eviction of items to be asynchronous.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)