Ignore:
Timestamp:
03/10/15 14:16:28 (9 years ago)
Author:
emanuel.dima@uni-tuebingen.de
Message:
  1. beta-27: more results, bug fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/app/Aggregator.java

    r6081 r6092  
    107107        private static final org.slf4j.Logger log = LoggerFactory.getLogger(Aggregator.class);
    108108
    109         public static final String DE_TOK_MODEL = "tokenizer/de-tuebadz-8.0-token.bin";
     109        final int SEARCHES_SIZE_GC_THRESHOLD = 1000;
     110        final int SEARCHES_AGE_GC_THRESHOLD = 60;
    110111
    111112        private static final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
     
    261262        // this function should be thread-safe
    262263        public Search startSearch(SRUVersion version, List<Corpus> corpora,
    263                         String searchString, String searchLang, int maxRecords) throws Exception {
     264                        String searchString, String searchLang,
     265                        int firstRecord, int maxRecords) throws Exception {
    264266                if (corpora.isEmpty()) {
    265267                        // No corpora
     
    270272                } else {
    271273                        Search sr = new Search(sruSearchClient, version, searchStatsAtom.get(),
    272                                         corpora, searchString, searchLang, 1, maxRecords);
    273                         if ((activeSearches.size() % 100) == 0) {
     274                                        corpora, searchString, searchLang, maxRecords);
     275                        if (activeSearches.size() > SEARCHES_SIZE_GC_THRESHOLD) {
    274276                                List<Long> toBeRemoved = new ArrayList<Long>();
    275277                                long t0 = System.currentTimeMillis();
    276278                                for (Map.Entry<Long, Search> e : activeSearches.entrySet()) {
    277                                         if (t0 - e.getValue().getCreatedAt() > 1800 * 1000) {
     279                                        long dtmin = (t0 - e.getValue().getCreatedAt()) / 1000 / 60;
     280                                        if (dtmin > SEARCHES_AGE_GC_THRESHOLD) {
     281                                                log.info("removing search " + e.getKey() + ": " + dtmin + " minutes old");
    278282                                                toBeRemoved.add(e.getKey());
    279283                                        }
Note: See TracChangeset for help on using the changeset viewer.