Merge remote-tracking branch 'upstream/release-6.2' into anoyes/merge-6.2-to-6.3
Commit conflict markers for now
This commit is contained in:
commit
281151ff20
|
@ -167,6 +167,12 @@ add_subdirectory(tests)
|
|||
if(WITH_PYTHON)
|
||||
add_subdirectory(bindings)
|
||||
endif()
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
add_subdirectory(fdbbackup)
|
||||
add_subdirectory(contrib)
|
||||
add_subdirectory(tests)
|
||||
>>>>>>> upstream/release-6.2
|
||||
if(WITH_DOCUMENTATION)
|
||||
add_subdirectory(documentation)
|
||||
endif()
|
||||
|
|
|
@ -157,7 +157,11 @@ endif()
|
|||
# - OUT_DIR the directory where files will be staged
|
||||
# - CONTEXT the type of correctness package being built (e.g. 'valgrind correctness')
|
||||
function(stage_correctness_package)
|
||||
<<<<<<< HEAD
|
||||
set(oneValueArgs OUT_DIR CONTEXT)
|
||||
=======
|
||||
set(oneValueArgs OUT_DIR CONTEXT OUT_FILES)
|
||||
>>>>>>> upstream/release-6.2
|
||||
cmake_parse_arguments(STAGE "" "${oneValueArgs}" "" "${ARGN}")
|
||||
file(MAKE_DIRECTORY ${STAGE_OUT_DIR}/bin)
|
||||
string(LENGTH "${CMAKE_SOURCE_DIR}/tests/" base_length)
|
||||
|
@ -200,6 +204,13 @@ function(stage_correctness_package)
|
|||
endforeach()
|
||||
endforeach()
|
||||
list(APPEND package_files ${STAGE_OUT_DIR}/bin/fdbserver
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
${STAGE_OUT_DIR}/bin/coverage.fdbserver.xml
|
||||
${STAGE_OUT_DIR}/bin/coverage.fdbclient.xml
|
||||
${STAGE_OUT_DIR}/bin/coverage.fdbrpc.xml
|
||||
${STAGE_OUT_DIR}/bin/coverage.flow.xml
|
||||
>>>>>>> upstream/release-6.2
|
||||
${STAGE_OUT_DIR}/bin/TestHarness.exe
|
||||
${STAGE_OUT_DIR}/bin/TraceLogHelper.dll
|
||||
${STAGE_OUT_DIR}/CMakeCache.txt
|
||||
|
@ -208,17 +219,37 @@ function(stage_correctness_package)
|
|||
OUTPUT ${package_files}
|
||||
DEPENDS ${CMAKE_BINARY_DIR}/CMakeCache.txt
|
||||
${CMAKE_BINARY_DIR}/packages/bin/fdbserver
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
${CMAKE_BINARY_DIR}/bin/coverage.fdbserver.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.fdbclient.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.fdbrpc.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.flow.xml
|
||||
>>>>>>> upstream/release-6.2
|
||||
${CMAKE_BINARY_DIR}/packages/bin/TestHarness.exe
|
||||
${CMAKE_BINARY_DIR}/packages/bin/TraceLogHelper.dll
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/CMakeCache.txt ${STAGE_OUT_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/packages/bin/fdbserver
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
${CMAKE_BINARY_DIR}/bin/coverage.fdbserver.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.fdbclient.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.fdbrpc.xml
|
||||
${CMAKE_BINARY_DIR}/lib/coverage.flow.xml
|
||||
>>>>>>> upstream/release-6.2
|
||||
${CMAKE_BINARY_DIR}/packages/bin/TestHarness.exe
|
||||
${CMAKE_BINARY_DIR}/packages/bin/TraceLogHelper.dll
|
||||
${STAGE_OUT_DIR}/bin
|
||||
COMMENT "Copying files for ${STAGE_CONTEXT} package"
|
||||
)
|
||||
list(APPEND package_files ${test_files} ${external_files})
|
||||
<<<<<<< HEAD
|
||||
set(package_files ${package_files} PARENT_SCOPE)
|
||||
=======
|
||||
if(STAGE_OUT_FILES)
|
||||
set(${STAGE_OUT_FILES} ${package_files} PARENT_SCOPE)
|
||||
endif()
|
||||
>>>>>>> upstream/release-6.2
|
||||
endfunction()
|
||||
|
||||
function(create_correctness_package)
|
||||
|
@ -226,7 +257,11 @@ function(create_correctness_package)
|
|||
return()
|
||||
endif()
|
||||
set(out_dir "${CMAKE_BINARY_DIR}/correctness")
|
||||
<<<<<<< HEAD
|
||||
stage_correctness_package(OUT_DIR ${out_dir} CONTEXT "correctness")
|
||||
=======
|
||||
stage_correctness_package(OUT_DIR ${out_dir} CONTEXT "correctness" OUT_FILES package_files)
|
||||
>>>>>>> upstream/release-6.2
|
||||
set(tar_file ${CMAKE_BINARY_DIR}/packages/correctness-${CMAKE_PROJECT_VERSION}.tar.gz)
|
||||
add_custom_command(
|
||||
OUTPUT ${tar_file}
|
||||
|
@ -253,7 +288,11 @@ function(create_valgrind_correctness_package)
|
|||
endif()
|
||||
if(USE_VALGRIND)
|
||||
set(out_dir "${CMAKE_BINARY_DIR}/valgrind_correctness")
|
||||
<<<<<<< HEAD
|
||||
stage_correctness_package(OUT_DIR ${out_dir} CONTEXT "valgrind correctness")
|
||||
=======
|
||||
stage_correctness_package(OUT_DIR ${out_dir} CONTEXT "valgrind correctness" OUT_FILES package_files)
|
||||
>>>>>>> upstream/release-6.2
|
||||
set(tar_file ${CMAKE_BINARY_DIR}/packages/valgrind-${CMAKE_PROJECT_VERSION}.tar.gz)
|
||||
add_custom_command(
|
||||
OUTPUT ${tar_file}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
if(NOT WIN32)
|
||||
<<<<<<< HEAD
|
||||
add_subdirectory(monitoring)
|
||||
=======
|
||||
>>>>>>> upstream/release-6.2
|
||||
add_subdirectory(TraceLogHelper)
|
||||
add_subdirectory(TestHarness)
|
||||
endif()
|
||||
|
|
|
@ -3,7 +3,11 @@ set(SRCS
|
|||
Properties/AssemblyInfo.cs)
|
||||
|
||||
set(TEST_HARNESS_REFERENCES
|
||||
<<<<<<< HEAD
|
||||
"-r:System,System.Core,System.Xml.Linq,System.Data.DataSetExtensions,Microsoft.CSharp,System.Data,System.Xml,${TraceLogHelperDll}")
|
||||
=======
|
||||
"-r:System,System.Core,System.Xml.Linq,System.Data.DataSetExtensions,Microsoft.CSharp,System.Data,System.Xml,System.Runtime.Serialization,${TraceLogHelperDll}")
|
||||
>>>>>>> upstream/release-6.2
|
||||
|
||||
set(out_file ${CMAKE_BINARY_DIR}/packages/bin/TestHarness.exe)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -51,7 +51,11 @@ namespace Magnesium
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
throw new Exception(string.Format("Failed to parse {0}", root), e);
|
||||
=======
|
||||
throw new Exception(string.Format("Failed to parse JSON {0}", root), e);
|
||||
>>>>>>> upstream/release-6.2
|
||||
}
|
||||
if (ev != null) yield return ev;
|
||||
}
|
||||
|
@ -81,7 +85,11 @@ namespace Magnesium
|
|||
DDetails = xEvent.Elements()
|
||||
.Where(a=>a.Name != "Type" && a.Name != "Time" && a.Name != "Machine" && a.Name != "ID" && a.Name != "Severity" && (!rolledEvent || a.Name != "OriginalTime"))
|
||||
.ToDictionary(a=>string.Intern(a.Name.LocalName), a=>(object)a.Value),
|
||||
<<<<<<< HEAD
|
||||
original = keepOriginalElement ? xEvent : null,
|
||||
=======
|
||||
original = keepOriginalElement ? xEvent : null
|
||||
>>>>>>> upstream/release-6.2
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,11 @@ namespace Magnesium
|
|||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
throw new Exception(string.Format("Failed to parse {0}", xev), e);
|
||||
=======
|
||||
throw new Exception(string.Format("Failed to parse XML {0}", xev), e);
|
||||
>>>>>>> upstream/release-6.2
|
||||
}
|
||||
if (ev != null) yield return ev;
|
||||
}
|
||||
|
|
|
@ -304,12 +304,12 @@ public:
|
|||
|
||||
class CurrentRunningFetchKeys {
|
||||
std::unordered_map<UID, double> startTimeMap;
|
||||
std::unordered_map<UID, KeyRangeRef> keyRangeMap;
|
||||
std::unordered_map<UID, KeyRange> keyRangeMap;
|
||||
|
||||
static const StringRef emptyString;
|
||||
static const KeyRangeRef emptyKeyRange;
|
||||
public:
|
||||
void recordStart(const UID id, const KeyRange keyRange) {
|
||||
void recordStart(const UID id, const KeyRange& keyRange) {
|
||||
startTimeMap[id] = now();
|
||||
keyRangeMap[id] = keyRange;
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ public:
|
|||
keyRangeMap.erase(id);
|
||||
}
|
||||
|
||||
std::pair<double, KeyRangeRef> longestTime() const {
|
||||
std::pair<double, KeyRange> longestTime() const {
|
||||
if (numRunning() == 0) {
|
||||
return {-1, emptyKeyRange};
|
||||
}
|
||||
|
|
|
@ -144,6 +144,7 @@ void FlowKnobs::initialize(bool randomize, bool isSimulated) {
|
|||
init( TSC_YIELD_TIME, 1000000 );
|
||||
init( MIN_LOGGED_PRIORITY_BUSY_FRACTION, 0.05 );
|
||||
init( CERT_FILE_MAX_SIZE, 5 * 1024 * 1024 );
|
||||
init( READY_QUEUE_RESERVED_SIZE, 8192 );
|
||||
|
||||
//Network
|
||||
init( PACKET_LIMIT, 100LL<<20 );
|
||||
|
|
|
@ -162,6 +162,7 @@ public:
|
|||
int64_t REACTOR_FLAGS;
|
||||
double MIN_LOGGED_PRIORITY_BUSY_FRACTION;
|
||||
int CERT_FILE_MAX_SIZE;
|
||||
int READY_QUEUE_RESERVED_SIZE;
|
||||
|
||||
//Network
|
||||
int64_t PACKET_LIMIT;
|
||||
|
|
|
@ -113,6 +113,16 @@ struct OrderedTask {
|
|||
bool operator < (OrderedTask const& rhs) const { return priority < rhs.priority; }
|
||||
};
|
||||
|
||||
template <class T>
|
||||
class ReadyQueue : public std::priority_queue<T, std::vector<T>>
|
||||
{
|
||||
public:
|
||||
typedef typename std::priority_queue<T, std::vector<T>>::size_type size_type;
|
||||
ReadyQueue(size_type capacity = 0) { reserve(capacity); };
|
||||
void reserve(size_type capacity) { this->c.reserve(capacity); }
|
||||
};
|
||||
|
||||
|
||||
thread_local INetwork* thread_network = 0;
|
||||
|
||||
class Net2 sealed : public INetwork, public INetworkConnections {
|
||||
|
@ -201,7 +211,7 @@ public:
|
|||
|
||||
NetworkMetrics::PriorityStats* lastPriorityStats;
|
||||
|
||||
std::priority_queue<OrderedTask, std::vector<OrderedTask>> ready;
|
||||
ReadyQueue<OrderedTask> ready;
|
||||
ThreadSafeQueue<OrderedTask> threadReady;
|
||||
|
||||
struct DelayedTask : OrderedTask {
|
||||
|
@ -947,6 +957,7 @@ Net2::Net2(const TLSConfig& tlsConfig, bool useThreadPool, bool useMetrics)
|
|||
reactor(this),
|
||||
stopped(false),
|
||||
tasksIssued(0),
|
||||
ready(FLOW_KNOBS->READY_QUEUE_RESERVED_SIZE),
|
||||
// Until run() is called, yield() will always yield
|
||||
tscBegin(0), tscEnd(0), taskBegin(0), currentTaskID(TaskPriority::DefaultYield),
|
||||
numYields(0),
|
||||
|
|
|
@ -255,4 +255,9 @@ if(WITH_PYTHON)
|
|||
create_valgrind_correctness_package()
|
||||
endif()
|
||||
endif()
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
else()
|
||||
message(WARNING "Python not found, won't configure ctest")
|
||||
>>>>>>> upstream/release-6.2
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue