Commit 7ec9155b authored by Greg Williams's avatar Greg Williams
Browse files

Cleaned up installation/uninstallation of json-c..

Added accessors for encapsulation of multithreading concerns.
Scaled down stress test iterations for default builds, but provided scalars for configurability.
Merged in data integrity checks added to master branch stress tests.
parent f872c2b1
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ LIB_OBJS = \
KINETIC_LIB_OTHER_DEPS = Makefile Rakefile $(VERSION_FILE)


default: makedirs $(KINETIC_LIB)
default: makedirs json $(KINETIC_LIB)

makedirs:
	@echo; mkdir -p ./bin/examples &> /dev/null; mkdir -p ./bin/unit &> /dev/null; mkdir -p ./bin/systest &> /dev/null; mkdir -p ./out &> /dev/null
@@ -162,10 +162,14 @@ ci: uninstall stop_simulator start_simulator all stop_simulator install uninstal
#-------------------------------------------------------------------------------

json: ${OUT_DIR}/libjson-c.a
json_install:

json_install: json
	cd ${JSONC} && \
	make install

json_uninstall:
	if [ -f ${JSONC}/Makefile ]; then cd ${JSONC} && make uninstall; fi;

${JSONC}/Makefile:
	cd ${JSONC} && \
	sh autogen.sh && \
@@ -277,9 +281,9 @@ uninstall:
	$(RM) -f $(PREFIX)/include/kinetic_proto.h
	$(RM) -f $(PREFIX)/include/protobuf-c/protobuf-c.h
	$(RM) -f $(PREFIX)/include/protobuf-c.h
	if [ -f ${JSONC}/Makefile ]; then cd ${JSONC} && make uninstall; fi;

.PHONY: install uninstall

.PHONY: install uninstall json_install json_uninstall

#===============================================================================
# Java Simulator Support
@@ -346,7 +350,6 @@ unit_tests: start_simulator $(unit_passfiles)
# System Tests
#===============================================================================


SYSTEST_SRC = ./test/system
SYSTEST_OUT = $(BIN_DIR)/systest
SYSTEST_LDFLAGS += -lm $(KINETIC_LIB) -L${OPENSSL_PATH}/lib -lssl -lcrypto -lpthread
@@ -432,8 +435,6 @@ discovery_utility: $(DISCOVERY_UTIL_EXEC)
build: discovery_utility




#-------------------------------------------------------------------------------
# Support for Simulator and Exection of Test Utility
#-------------------------------------------------------------------------------
@@ -509,7 +510,7 @@ examples: setup_examples \
	run_example_write_file_blocking \
	run_example_write_file_blocking_threads \
	run_example_write_file_nonblocking \
	run_example_get_key_range \
	run_example_get_key_range

valgrind_examples: setup_examples \
	valgrind_put_nonblocking \
@@ -517,4 +518,4 @@ valgrind_examples: setup_examples \
	valgrind_example_write_file_blocking \
	valgrind_example_write_file_blocking_threads \
	valgrind_example_write_file_nonblocking \
	valgrind_example_get_key_range \
	valgrind_example_get_key_range
+9 −5
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ static KineticStatus KineticOperation_SendRequestInner(KineticOperation* const o

    // Populate sequence count and increment it for next operation
    assert(request->message.header.sequence == KINETIC_SEQUENCE_NOT_YET_BOUND);
    int64_t seq_id = operation->connection->sequence++;
    int64_t seq_id = KineticSession_GetNextSequenceCount(session);
    request->message.header.sequence = seq_id;

    // Pack the command, if available
@@ -826,11 +826,14 @@ KineticStatus KineticOperation_SetClusterVersionCallback(KineticOperation* const
    assert(operation->connection != NULL);
    LOGF3("SetClusterVersion callback w/ operation (0x%0llX) on connection (0x%0llX)",
        operation, operation->connection);
    (void)status;
    return KINETIC_STATUS_SUCCESS;
    if (status == KINETIC_STATUS_SUCCESS) {
        KineticSession_SetClusterVersion(operation->connection->pSession, operation->pendingClusterVersion);
        operation->pendingClusterVersion = -1; // Invalidate
    }
    return status;
}

void KineticOperation_BuildSetClusterVersion(KineticOperation* operation, int64_t newClusterVersion)
void KineticOperation_BuildSetClusterVersion(KineticOperation* operation, int64_t new_cluster_version)
{
    KineticOperation_ValidateOperation(operation);
    
@@ -839,7 +842,7 @@ void KineticOperation_BuildSetClusterVersion(KineticOperation* operation, int64_
    operation->request->command->body = &operation->request->message.body;
    
    operation->request->command->body->setup = &operation->request->message.setup;
    operation->request->command->body->setup->newClusterVersion = newClusterVersion;
    operation->request->command->body->setup->newClusterVersion = new_cluster_version;
    operation->request->command->body->setup->has_newClusterVersion = true;

    operation->request->command->body = &operation->request->message.body;
@@ -847,4 +850,5 @@ void KineticOperation_BuildSetClusterVersion(KineticOperation* operation, int64_
    operation->valueEnabled = false;
    operation->sendValue = false;
    operation->callback = &KineticOperation_SetClusterVersionCallback;
    operation->pendingClusterVersion = new_cluster_version;
}
+1 −1
Original line number Diff line number Diff line
@@ -88,6 +88,6 @@ void KineticOperation_BuildSetAcl(KineticOperation* const operation,
                               KineticDeviceInfo** info);

KineticStatus KineticOperation_SetClusterVersionCallback(KineticOperation* const operation, KineticStatus const status);
void KineticOperation_BuildSetClusterVersion(KineticOperation* const operation, int64_t newClusterVersion);
void KineticOperation_BuildSetClusterVersion(KineticOperation* const operation, int64_t new_cluster_version);

#endif // _KINETIC_OPERATION_H
+21 −0
Original line number Diff line number Diff line
@@ -170,3 +170,24 @@ KineticStatus KineticSession_Disconnect(KineticSession const * const session)

    return KINETIC_STATUS_SUCCESS;
}

#define ATOMIC_FETCH_AND_INCREMENT(P) __sync_fetch_and_add(P, 1)

int64_t KineticSession_GetNextSequenceCount(KineticSession const * const session)
{
    assert(session);
    int64_t seq_cnt = ATOMIC_FETCH_AND_INCREMENT(&session->connection->sequence);
    return seq_cnt;
}

int64_t KineticSession_GetClusterVersion(KineticSession const * const session)
{
    assert(session);
    return session->config.clusterVersion;
}

void KineticSession_SetClusterVersion(KineticSession * const session, int64_t cluster_version)
{
    assert(session);
    session->config.clusterVersion = cluster_version;
}
+3 −1
Original line number Diff line number Diff line
@@ -27,6 +27,8 @@ KineticStatus KineticSession_Create(KineticSession * const session, KineticClien
KineticStatus KineticSession_Destroy(KineticSession * const session);
KineticStatus KineticSession_Connect(KineticSession * const session);
KineticStatus KineticSession_Disconnect(KineticSession const * const session);
void KineticSession_IncrementSequence(KineticSession const * const session);
int64_t KineticSession_GetNextSequenceCount(KineticSession const * const session);
int64_t KineticSession_GetClusterVersion(KineticSession const * const session);
void KineticSession_SetClusterVersion(KineticSession * const session, int64_t cluster_version);

#endif // _KINETIC_SESSION_H
Loading