1
0
Fork 0

Merge branch 'devel' of https://github.com/arangodb/arangodb into devel

This commit is contained in:
Jan Steemann 2016-08-25 12:41:35 +02:00
commit 4769501804
11 changed files with 33 additions and 22 deletions

View File

@ -130,11 +130,20 @@ find_program (GIT_EXE git)
if (DEFINED GIT_EXE AND IS_DIRECTORY "${CMAKE_SOURCE_DIR}/.git")
execute_process(
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${GIT_EXE} describe --all --tags --long --dirty=-dirty
OUTPUT_VARIABLE GIT_OUTPUT)
string(STRIP ${GIT_OUTPUT} REPOSITORY_VERSION)
set(ARANGODB_BUILD_REPOSITORY ${REPOSITORY_VERSION})
set(HAVE_ARANGODB_BUILD_REPOSITORY "1")
# this may fail on shallow clones that only knows about a limited number of commits.
# if there is an older merged revision the head, it may not be available to git.
if (NOT GIT_OUTPUT)
set(ARANGODB_BUILD_REPOSITORY "GIT FAILED TO RETRIEVE THE VERSION - SHALLOW CLONE?")
set(HAVE_ARANGODB_BUILD_REPOSITORY "1")
else()
string(STRIP ${GIT_OUTPUT} REPOSITORY_VERSION)
set(ARANGODB_BUILD_REPOSITORY ${REPOSITORY_VERSION})
set(HAVE_ARANGODB_BUILD_REPOSITORY "1")
endif()
else ()
set(ARANGODB_BUILD_REPOSITORY "")
set(HAVE_ARANGODB_BUILD_REPOSITORY "0")
@ -889,3 +898,5 @@ endif()
add_custom_target(packages
DEPENDS ${PACKAGES_LIST}
)
message(INFO " Building for git revision: ${ARANGODB_BUILD_REPOSITORY}")

View File

@ -259,4 +259,4 @@ The above referenced chapters describe the various APIs of ArangoDBs graph engin
!SUBSECTION Higher volume graph examples
All of the above examples are rather small so they are easier to comprehend and can demonstrate the way the functionality works. There are however several datasets freely available on the web that are a lot bigger. [We collected some of them with import scripts](https://github.com/triAGENS/ArangoDB-Data/) so you may play around with them. Another huge graph is the [Pokec social network](https://snap.stanford.edu/data/soc-pokec.html) from Slovakia that we [used for performance testing on several databases](https://www.arangodb.com/2015/06/multi-model-benchmark/); You will find importing scripts etc. in this blogpost.
All of the above examples are rather small so they are easier to comprehend and can demonstrate the way the functionality works. There are however several datasets freely available on the web that are a lot bigger. [We collected some of them with import scripts](https://github.com/arangodb/example-datasets) so you may play around with them. Another huge graph is the [Pokec social network](https://snap.stanford.edu/data/soc-pokec.html) from Slovakia that we [used for performance testing on several databases](https://www.arangodb.com/2015/06/multi-model-benchmark/); You will find importing scripts etc. in this blogpost.

View File

@ -43,7 +43,7 @@ DispatcherFeature::DispatcherFeature(
application_features::ApplicationServer* server)
: ApplicationFeature(server, "Dispatcher"),
_nrStandardThreads(0),
_nrExtraThreads(0),
_nrExtraThreads(-1),
_nrAqlThreads(0),
_queueSize(16384),
_dispatcher(nullptr) {
@ -72,7 +72,7 @@ void DispatcherFeature::collectOptions(
options->addHiddenOption("--server.extra-threads",
"number of extra threads that can additionally be created when all regular threads are blocked and the client requests thread creation",
new Int64Parameter(&_nrExtraThreadsArgument));
new Int64Parameter(&_nrExtraThreads));
options->addHiddenOption("--server.aql-threads",
"number of threads for basic operations (0 = automatic)",
@ -102,10 +102,8 @@ void DispatcherFeature::validateOptions(std::shared_ptr<ProgramOptions>) {
TRI_ASSERT(_nrAqlThreads >= 1);
if (_nrExtraThreadsArgument < 0) {
if (_nrExtraThreads < 0) {
_nrExtraThreads = _nrStandardThreads;
} else {
_nrExtraThreads = static_cast<uint64_t>(_nrExtraThreadsArgument);
}
if (_queueSize <= 128) {

View File

@ -52,9 +52,8 @@ class DispatcherFeature final
void unprepare() override final;
private:
int64_t _nrExtraThreadsArgument;
uint64_t _nrStandardThreads;
uint64_t _nrExtraThreads;
int64_t _nrExtraThreads;
uint64_t _nrAqlThreads;
uint64_t _queueSize;

View File

@ -484,7 +484,7 @@ bool HttpCommTask::processRead() {
LOG(DEBUG) << "connection close requested by client";
_closeRequested = true;
} else if (_requestAsHttp()->isHttp10() && connectionType != "keep-alive") {
// HTTP 1.0 request, and no "Connection: Keep-Alive" header sent
// HTTP 1.0 request, and no "Connection: keep-alive" header sent
// we should close the connection
LOG(DEBUG) << "no keep-alive, connection close requested by client";
_closeRequested = true;

View File

@ -137,7 +137,7 @@ void DatabaseFeature::validateOptions(std::shared_ptr<ProgramOptions> options) {
FATAL_ERROR_EXIT();
}
ctx->getCheckPath(_databasePath, "database.directory");
ctx->getCheckPath(_databasePath, "database.directory", false);
if (_maximalJournalSize < TRI_JOURNAL_MINIMAL_SIZE) {
LOG(FATAL) << "invalid value for '--database.maximal-journal-size'. "

View File

@ -155,7 +155,7 @@ void V8DealerFeature::validateOptions(std::shared_ptr<ProgramOptions> options) {
FATAL_ERROR_EXIT();
}
ctx->getCheckPath(_startupPath, "javascript.startup-directory");
ctx->getCheckPath(_startupPath, "javascript.startup-directory", true);
_startupLoader.setDirectory(_startupPath);
ServerState::instance()->setJavaScriptPath(_startupPath);
@ -166,7 +166,7 @@ void V8DealerFeature::validateOptions(std::shared_ptr<ProgramOptions> options) {
FATAL_ERROR_EXIT();
}
ctx->getCheckPath(_appPath, "javascript.app-directory");
ctx->getCheckPath(_appPath, "javascript.app-directory", true);
// use a minimum of 1 second for GC
if (_gcFrequency < 1) {

View File

@ -817,7 +817,7 @@ void V8ShellFeature::initGlobals() {
FATAL_ERROR_EXIT();
}
ctx->getCheckPath(_startupDirectory, "javascript.startup-directory");
ctx->getCheckPath(_startupDirectory, "javascript.startup-directory", true);
// initialize standard modules
std::string modules =

View File

@ -113,8 +113,8 @@ configure_file (
#--------------------------------------------------------------------------------
get_cmake_property(_variableNames VARIABLES)
foreach (_variableName ${_variableNames})
message(STATUS "${_variableName}=${${_variableName}}")
endforeach()
#get_cmake_property(_variableNames VARIABLES)
#foreach (_variableName ${_variableNames})
# message(STATUS "${_variableName}=${${_variableName}}")
#endforeach()
#--------------------------------------------------------------------------------

View File

@ -273,11 +273,14 @@ void ArangoGlobalContext::tempPathAvailable() {
#endif
}
void ArangoGlobalContext::getCheckPath(std::string &path, const char *whichPath) {
void ArangoGlobalContext::getCheckPath(std::string &path, const char *whichPath, bool fatal) {
if (!arangodb::basics::FileUtils::exists(path)) {
std::string directory;
directory = arangodb::basics::FileUtils::buildFilename(_runRoot, path);
if (!arangodb::basics::FileUtils::exists(directory)) {
if (!fatal) {
return;
}
LOG(ERR) << "failed to locate " << whichPath << " directory, its neither available in '" << path << "' nor in '" << directory << "'";
FATAL_ERROR_EXIT();
}

View File

@ -37,7 +37,7 @@ class ArangoGlobalContext {
public:
std::string binaryName() { return _binaryName; }
std::string runRoot() { return _runRoot; }
void getCheckPath(std::string &path, const char *whichPath);
void getCheckPath(std::string &path, const char *whichPath, bool fatal);
int exit(int ret);
void installHup();
void installSegv();