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

ASF GitHub Bot commented on JENA-1122:
--------------------------------------

Github user ajs6f commented on a diff in the pull request:

    https://github.com/apache/jena/pull/123#discussion_r52173358
  
    --- Diff: 
jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/build/RefCountingMap.java
 ---
    @@ -0,0 +1,187 @@
    +/**
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.jena.fuseki.build;
    +
    +import java.util.Collection;
    +import java.util.Map;
    +import java.util.Set;
    +import java.util.concurrent.ConcurrentHashMap;
    +
    +/**
    + * A key -> value 'map' which reference counts entries.  
    + * 
    + * <p>
    + *   The same (key,value) pair can be added to the map several times and 
then 
    + *   removed several times.  A reference count is incremented for each 
addition
    + *   and, provided the count is greater than 0, decremented on removal.
    + * <p>
    + * 
    + * <p>
    + *   The pair is removed from the map when a remove decrements the 
reference count to 0.
    + * </p>
    + * 
    + * <p>
    + *   This class is thread safe.
    + * </p>
    + * 
    + * @param <K>
    + * @param <T>
    + */
    +public class RefCountingMap<K, T> {
    --- End diff --
    
    There's, understandably, a lot of methods here that just pass-through to 
`ConcurrentHashMap`. Maybe it would be worth doing `extends 
ConcurrentHashMap<K, CountedRef<T>>` and just overriding the methods that need 
overriding?


> Fuseki fails to start if configured with two services that share the same 
> dataset with a lucene index.
> ------------------------------------------------------------------------------------------------------
>
>                 Key: JENA-1122
>                 URL: https://issues.apache.org/jira/browse/JENA-1122
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: Text
>    Affects Versions: Jena 3.0.0, Fuseki 2.3.0
>            Reporter: Brian McBride
>
> This problem arises when the assemblers for the two services run.  For each 
> service, a separate TextIndexLucene object is created.  Both of those objects 
> try to lock the same Lucene index directory and one fails.
> A proposed fix is to modify the TextDatasetFactory to only create one 
> TextIndexLucene object per on disk directory.



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

Reply via email to