#vulnerable code 
                                @Test
    public void testSelectUpsertWithOldClient() throws Exception {
        checkForPreConditions();
        // Insert data with new client and read with old client
        executeQueriesWithCurrentVersion(CREATE_ADD);
        executeQueryWithClientVersion(compatibleClientVersion, QUERY);
        assertTrue(compareOutput(CREATE_ADD, QUERY));

        // Insert more data with old client and read with new client
        executeQueryWithClientVersion(compatibleClientVersion, ADD_DATA);
        executeQueriesWithCurrentVersion(QUERY_MORE);
        assertTrue(compareOutput(ADD_DATA, QUERY_MORE));
    } 
                            #location 3 
                            #vulnerability type THREAD_SAFETY_VIOLATION
#fixed code
                                @Test
    public void testSelectUpsertWithOldClient() throws Exception {
        // Insert data with new client and read with old client
        executeQueriesWithCurrentVersion(CREATE_ADD);
        executeQueryWithClientVersion(compatibleClientVersion, QUERY);
        assertExpectedOutput(CREATE_ADD, QUERY);

        // Insert more data with old client and read with new client
        executeQueryWithClientVersion(compatibleClientVersion, ADD_DATA);
        executeQueriesWithCurrentVersion(QUERY_MORE);
        assertExpectedOutput(ADD_DATA, QUERY_MORE);
    }