Commit 6646ebff authored by Greg Williams's avatar Greg Williams
Browse files

Merged in develop, but have a lack of request activity in tests that do many...

Merged in develop, but have a lack of request activity in tests that do many IO operations that needs to be resolved.
parent 4a624b66
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -16,3 +16,6 @@
[submodule "vendor/FlameGraph"]
	path = vendor/FlameGraph
	url = https://github.com/brendangregg/FlameGraph.git
[submodule "vendor/json-c"]
	path = vendor/json-c
	url = https://github.com/json-c/json-c
+50 −4
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ SESSION_PIN ?= \"1234\"
WARN = -Wall -Wextra -Werror -Wstrict-prototypes -Wcast-align -pedantic -Wno-missing-field-initializers -Werror=strict-prototypes
CDEFS += -D_POSIX_C_SOURCE=199309L -D_C99_SOURCE=1 -DSYSTEM_TEST_HOST=${SYSTEM_TEST_HOST}
CFLAGS += -std=c99 -fPIC -g $(WARN) $(CDEFS) $(OPTIMIZE)
LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread
LDFLAGS += -lm -L${OPENSSL_PATH}/lib -lcrypto -lssl -lpthread -ljson-c

#===============================================================================
# Kinetic-C Library Build Support
@@ -38,6 +38,7 @@ LIB_DIR = ./src/lib
VENDOR = ./vendor
PROTOBUFC = $(VENDOR)/protobuf-c
SOCKET99 = $(VENDOR)/socket99
JSONC = $(VENDOR)/json-c
VERSION_FILE = ./config/VERSION
VERSION = ${shell head -n1 $(VERSION_FILE)}
THREADPOOL_PATH = ${LIB_DIR}/threadpool
@@ -46,7 +47,7 @@ BUS_PATH = ${LIB_DIR}/bus
KINETIC_LIB_NAME = $(PROJECT).$(VERSION)
KINETIC_LIB = $(BIN_DIR)/lib$(KINETIC_LIB_NAME).a
LIB_INCS = -I$(LIB_DIR) -I$(PUB_INC) -I$(PROTOBUFC) -I$(SOCKET99) -I$(VENDOR) \
	-I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include
	-I$(JSONC) -I$(THREADPOOL_PATH) -I$(BUS_PATH) -I${OPENSSL_PATH}/include

C_SRC=${LIB_DIR}/*.[ch] $(SOCKET99)/socket99.[ch] $(PROTOBUFC)/protobuf-c/protobuf-c.[ch]

@@ -98,15 +99,15 @@ makedirs:
all: default test system_tests test_internals run examples

clean: makedirs update_git_submodules
	rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util
	rm -rf ./bin/*.a ./bin/*.so ./bin/kinetic-c-util $(DISCOVERY_UTIL_EXEC)
	rm -rf ./bin/**/*
	rm -f ./bin/*.*
	rm -f $(OUT_DIR)/*.o $(OUT_DIR)/*.a *.core *.log
	bundle exec rake clobber
	-./vendor/kinetic-simulator/stopSimulator.sh &> /dev/null;
	cd ${SOCKET99} && make clean
	cd ${LIB_DIR}/threadpool && make clean
	cd ${LIB_DIR}/bus && make clean
	# cd ${JSONC} && make clean -- would be nice, but doesn't have clean task :(

update_git_submodules:
	git submodule update --init
@@ -155,6 +156,24 @@ ci: uninstall stop_simulator start_simulator all stop_simulator install uninstal
	@echo


#-------------------------------------------------------------------------------
# json-c
#-------------------------------------------------------------------------------

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

${JSONC}/Makefile:
	cd ${JSONC} && \
	sh autogen.sh && \
	./configure

${JSONC}/.libs/libjson-c.a: ${JSONC}/Makefile
	cd ${JSONC} && \
	make libjson-c.la

${OUT_DIR}/libjson-c.a: ${JSONC}/.libs/libjson-c.a
	cp ${JSONC}/.libs/libjson-c.a ${OUT_DIR}/libjson-c.a

#-------------------------------------------------------------------------------
# Test Support
#-------------------------------------------------------------------------------
@@ -393,6 +412,33 @@ utility: $(UTIL_EXEC)
build: $(KINETIC_LIB) $(KINETIC_SO_DEV) utility


#===============================================================================
# Service Discovery Utility Build Support
#===============================================================================

DISCOVERY_UTILITY = kinetic-c-discovery
DISCOVERY_UTIL_DIR = $(UTIL_DIR)
DISCOVERY_UTIL_EXEC = $(BIN_DIR)/$(DISCOVERY_UTILITY)
DISCOVERY_UTIL_OBJ = $(OUT_DIR)/discovery.o $(OUT_DIR)/socket99.o
DISCOVERY_UTIL_LDFLAGS +=  -lm -lssl $(KINETIC_LIB) -L${OUT_DIR} -lcrypto -lpthread -ljson-c

$(OUT_DIR)/discovery.o: $(DISCOVERY_UTIL_DIR)/discovery.c
	$(CC) -c -o $@ $< $(CFLAGS) -I$(PUB_INC) -I$(DISCOVERY_UTIL_DIR) $(LIB_INCS)

$(DISCOVERY_UTIL_EXEC): $(DISCOVERY_UTIL_OBJ) $(KINETIC_LIB) json
	@echo
	@echo --------------------------------------------------------------------------------
	@echo Building service discovery utility: $(DISCOVERY_UTIL_EXEC)
	@echo --------------------------------------------------------------------------------
	$(CC) -o $@ $(DISCOVERY_UTIL_OBJ) $(CFLAGS) $(DISCOVERY_UTIL_LDFLAGS) $(KINETIC_LIB)

discovery_utility: $(DISCOVERY_UTIL_EXEC)

build: discovery_utility




#-------------------------------------------------------------------------------
# Support for Simulator and Exection of Test Utility
#-------------------------------------------------------------------------------
+1 −1
Original line number Diff line number Diff line
@@ -323,7 +323,7 @@ bool bus_send_request(struct bus *b, bus_user_msg *msg)
    int s_id = sender_id_of_socket(b, msg->fd);
    struct sender *s = b->senders[s_id];

    BUS_LOG_SNPRINTF(b, 3-3, LOG_SENDING_REQUEST, b->udata, 64,
    BUS_LOG_SNPRINTF(b, 3-0, LOG_SENDING_REQUEST, b->udata, 64,
        "Sending request <fd:%d, seq_id:%lld>", msg->fd, (long long)msg->seq_id);
    bool res = sender_send_request(s, box);
    BUS_LOG_SNPRINTF(b, 3, LOG_SENDING_REQUEST, b->udata, 64,
+1 −1
Original line number Diff line number Diff line
@@ -898,7 +898,7 @@ static void release_rx_info(struct listener *l, rx_info_t *info) {
             * but the listener never got the handler callback. */
            BUS_LOG_SNPRINTF(b, 0, LOG_LISTENER, b->udata, 128,
                "LEAKING RESULT %p", (void *)&info->u.hold.result);
            assert(false);
            //assert(false);
        }
        break;
    case RIS_EXPECT:
+6 −1
Original line number Diff line number Diff line
@@ -159,6 +159,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session,
    assert(entry != NULL);
    assert(entry->value.array.data != NULL);
    
    assert(session->connection->pSession == session);
    assert(session->connection == session->connection->pSession->connection);

    KineticOperation* operation = KineticOperation_Create(session);
    if (operation == NULL) {return KINETIC_STATUS_MEMORY_ERROR;}

@@ -166,7 +169,9 @@ KineticStatus KineticClient_Put(KineticSession const * const session,
    KineticOperation_BuildPut(operation, entry);

    // Execute the operation
    return KineticController_ExecuteOperation(operation, closure);
    assert(operation->connection == session->connection);
    KineticStatus res = KineticController_ExecuteOperation(operation, closure);
    return res;
}

KineticStatus KineticClient_Flush(KineticSession const * const session,
Loading