microsoft / rdsn Goto Github PK
View Code? Open in Web Editor NEWRobust Distributed System Nucleus (rDSN) is an open framework for quickly building and managing high performance and robust distributed systems.
License: MIT License
Robust Distributed System Nucleus (rDSN) is an open framework for quickly building and managing high performance and robust distributed systems.
License: MIT License
First off, great work !!!
I'm using dsn_cli_register to invoke rpc calls from the console to my replicated, server-r, via a non-replicated server-nr. cli_handler wasn't on a worker thread so I used dsn_mimic_app. That requires running client-app-nr for no purpose other than to provide it's name to dsn_mimic_app. Is there another way to enter a worker?
I hit an issue calling server-r from server-nr. server-r wasn't receiving calls until I ran a client-app-r that did nothing but create an unused client...should that be required?
Can multiple replication apps be registered/run in the same assembly?
PS: I experimented with cli_app.cpp - a single console for all nodes...very cool.
I get a compile error:
/home/huahang/src/rdsn/src/core/src/clientlet.test.cpp: In lambda function:
/home/huahang/src/rdsn/src/core/src/clientlet.test.cpp:117:16: error: suggest explicit braces to avoid ambiguous ‘else’ [-Werror=dangling-else]
if (ERR_OK == ec)
in configuration.cpp line187:
pSection = &it.first->second;
I think it should change to as follow:
pSection = &it->second
I met a compiler problem, but I don't know how to solve it ....
rdsn/src/plugins_ext/rDSN.dist.service/src/fd/failure_detector/failure_detector.cpp:535:57: error: expected ')' before 'PRId64'
error_code replication_service_app::start(int argc, char** argv)
{
replication_options opts;
opts.initialize();
// FIXME
// opts.working_dir = std::string("./") + argv[0];
_stub = new replica_stub();
_stub->initialize(opts);
_stub->open_service();
return ERR_OK;
}
I tried to make the counter example in tutorials::SingleNode in $rdsn/tutorials/counter/build but encounter a link error that no libdsn.failure_detector in $rdsn/tutorial/counter/build/lib or $rdsn/lib but no lib dir in neither of them.
At last I found the lib dir in $rdsn/mybuild which I created during the installation process following the tutorial::install.
macduanmatoMacBook-Pro:~ macduan$ find . -name libdsn.*
./work/rdsn/mybuilddir/lib/libdsn.core.a
./work/rdsn/mybuilddir/lib/libdsn.dev.a
./work/rdsn/mybuilddir/lib/libdsn.failure_detector.a
./work/rdsn/mybuilddir/lib/libdsn.replication.a
./work/rdsn/mybuilddir/lib/libdsn.replication.clientlib.a
./work/rdsn/mybuilddir/lib/libdsn.replication.meta_server.a
./work/rdsn/mybuilddir/lib/libdsn.tools.common.a
./work/rdsn/mybuilddir/lib/libdsn.tools.simulator.a
macduanmatoMacBook-Pro:counter macduan$ pwd
/Users/macduan/work/rdsn/tutorial/counter
macduanmatoMacBook-Pro:counter macduan$ cd build/
macduanmatoMacBook-Pro:build macduan$ make
Linking CXX executable bin/counter/counter
ld: warning: directory not found for option '-L/Users/macduan/work/rdsn/tutorial/counter/build/lib'
ld: warning: directory not found for option '-L/Users/macduan/work/rdsn/lib'
ld: library not found for -ldsn.failure_detector
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [bin/counter/counter] Error 1
make[1]: *** [CMakeFiles/counter.dir/all] Error 2
make: *** [all] Error 2
I followed these steps (on Windows 8.1 & VS 2015)
https://github.com/Microsoft/rDSN/wiki/Installation
and when I typed in this command "run.cmd test Debug .\builddbg"
the following error came up:
I tried to google this, reclone the repo, rebuild, to no avail. wondering if you or anyone has encountered this issue before.
if it helps, my system variable is:
Thanks :)
When trying the replicated rocksdb case in rocksdb.replicated, I encountered a compile problem. But the issues feature in that project is disabled.
https://github.com/imzhenyu/rocksdb.replicated/issues/new
So could you help to enable the issues feature in rocksdb.replicated project? We can talk about the problem under that project. Thanks~
The included wget.exe is too old to support TLS 1.1 and above on Windows.
Followed the tutorial on Ubuntu 14.04 x64, build succeeded, but test failed with the following messages:
...
============ run test.sh in /home/ubuntu/rDSN/builder/bin/dsn.idl.tests/ ============
DSN_ROOT=
Note: Google Test filter = thrift_helper.*
[==========] Running 6 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 6 tests from thrift_helper
[ RUN ] thrift_helper.cpp_binary_basic_type_serialization
[ OK ] thrift_helper.cpp_binary_basic_type_serialization (0 ms)
[ RUN ] thrift_helper.cpp_binary_generated_type_serialization
[ OK ] thrift_helper.cpp_binary_generated_type_serialization (0 ms)
[ RUN ] thrift_helper.cpp_json_basic_type_serialization
[ OK ] thrift_helper.cpp_json_basic_type_serialization (1 ms)
[ RUN ] thrift_helper.cpp_json_generated_type_serialization
[ OK ] thrift_helper.cpp_json_generated_type_serialization (0 ms)
[ RUN ] thrift_helper.cpp_binary_code_generation
CMake Error at CMakeLists.txt:11 (include):
include could not find load file:
/bin/dsn.cmake
CMake Error at CMakeLists.txt:50 (dsn_add_shared_library):
Unknown CMake command "dsn_add_shared_library".
...
Problem is we need to set DSN_ROOT correctly before running ./run.sh test
, which is not specified in the tutorial.
hi,
could you please provide a sample CMakeLists.txt?
As per the install steps mentioned here for Ubuntu: https://github.com/Microsoft/rDSN/wiki/Installation, I'm unable to do this step: cmake .. -DCMAKE_INSTALL_PREFIX=/opt/rdsn
Thanks
Function getGUID
in csproj.template.php (also available here) is a copy of the code in this Stack Overflow post.
The author lists this external source, but that external source does not publish the code under any license (it only contains the copyright remark "GUID.us © 2019"). Thus, Stack Overflow's CC BY-SA license seems to be the only license that applies for that code snippet. However, the MIT license of this repository is not share-alike compatible with CC BY-SA (see this paper for details on the licensing situation around code on Stack Overflow).
Source code compiled with Boost-library version 1.57.0 and GCC version 4.8. Cmake run command line is completed steps. Follow cmake run configuration success as below.
workspacecpp/rDSN/builddir$ /home/chatsiri/sda1/workspacecpp/cmake/build/bin/cmake .. -DCMAKE_INSTALL_PREFIX=/media/0200784479D7F470/workspacecpp/rDSN/builddir -DBOOST_ROOT=/home/chatsiri/sda1/workspacecpp/boost_1_57_0 -DBOOST_LIBRARYDIR=/home/chatsiri/sda1/workspacecpp/boost_1_57_0/stage/lib -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/gcc
Compiler set : /usr/bin/gcc.
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/gcc-4.8
-- Check for working CXX compiler: /usr/bin/gcc-4.8 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Boost version: 1.57.0
-- Found the following Boost libraries:
-- thread
-- regex
-- system
-- filesystem
-- chrono
-- date_time
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
CMake Warning (dev) in src/core/CMakeLists.txt:
Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties.
Run "cmake --help-policy CMP0043" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
After run Make command line for building rDSN source code throws an error in steps of 24% [ 24%] Building CXX object src/core/CMakeFiles/dsn.core.dir/service_api.cpp.o
follow as below
workspacecpp/rDSN/builddir$ make
Scanning dependencies of target googletest
[ 0%] Creating directories for 'googletest'
[ 1%] Performing download step (git clone) for 'googletest'
Cloning into 'googletest'...
Already on 'master'
[ 2%] No patch step for 'googletest'
[ 3%] Performing update step for 'googletest'
Current branch master is up to date.
[ 4%] Performing configure step for 'googletest'
-- The CXX compiler identification is GNU 4.8.1
Compiler set : /usr/bin/gcc.
-- The C compiler identification is GNU 4.8.1
-- Check for working CXX compiler: /usr/bin/gcc-4.8
-- Check for working CXX compiler: /usr/bin/gcc-4.8 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.3")
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /media/0200784479D7F470/workspacecpp/rDSN/builddir/lib
[ 5%] Performing build step for 'googletest'
Scanning dependencies of target gtest
[ 25%] Building CXX object CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 50%] Linking CXX static library libgtest.a
[ 50%] Built target gtest
Scanning dependencies of target gtest_main
[ 75%] Building CXX object CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[100%] Linking CXX static library libgtest_main.a
[100%] Built target gtest_main
[ 6%] No install step for 'googletest'
[ 7%] Completed 'googletest'
[ 7%] Built target googletest
Scanning dependencies of target dsn.core
[ 8%] Building CXX object src/core/CMakeFiles/dsn.core.dir/disk_engine.cpp.o
[ 9%] Building CXX object src/core/CMakeFiles/dsn.core.dir/admission_controller.cpp.o
[ 9%] Building CXX object src/core/CMakeFiles/dsn.core.dir/aio_provider.cpp.o
[ 10%] Building CXX object src/core/CMakeFiles/dsn.core.dir/command_manager.cpp.o
[ 11%] Building CXX object src/core/CMakeFiles/dsn.core.dir/configuration.cpp.o
[ 12%] Building CXX object src/core/CMakeFiles/dsn.core.dir/coredump.posix.cpp.o
[ 13%] Building CXX object src/core/CMakeFiles/dsn.core.dir/coredump.win.cpp.o
[ 14%] Building CXX object src/core/CMakeFiles/dsn.core.dir/end_point.cpp.o
[ 14%] Building CXX object src/core/CMakeFiles/dsn.core.dir/env_provider.cpp.o
[ 15%] Building CXX object src/core/CMakeFiles/dsn.core.dir/error_code.cpp.o
[ 16%] Building CXX object src/core/CMakeFiles/dsn.core.dir/global_config.cpp.o
[ 17%] Building CXX object src/core/CMakeFiles/dsn.core.dir/join_point.cpp.o
[ 18%] Building CXX object src/core/CMakeFiles/dsn.core.dir/logging.cpp.o
[ 19%] Building CXX object src/core/CMakeFiles/dsn.core.dir/memory_provider.cpp.o
[ 19%] Building CXX object src/core/CMakeFiles/dsn.core.dir/message_parser.cpp.o
[ 20%] Building CXX object src/core/CMakeFiles/dsn.core.dir/network.cpp.o
[ 21%] Building CXX object src/core/CMakeFiles/dsn.core.dir/perf_counter.cpp.o
[ 22%] Building CXX object src/core/CMakeFiles/dsn.core.dir/perf_counters.cpp.o
[ 23%] Building CXX object src/core/CMakeFiles/dsn.core.dir/rpc_engine.cpp.o
[ 24%] Building CXX object src/core/CMakeFiles/dsn.core.dir/rpc_message.cpp.o
[ 24%] Building CXX object src/core/CMakeFiles/dsn.core.dir/service_api.cpp.o
In file included from /usr/include/boost/iterator/interoperable.hpp:13:0,
from /usr/include/boost/iterator/iterator_facade.hpp:11,
from /usr/include/boost/filesystem/v3/path.hpp:28,
from /usr/include/boost/filesystem.hpp:35,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:36:
/usr/include/boost/type_traits/is_convertible.hpp: In instantiation of ‘const bool boost::detail::is_convertible_basic_impl<boost::filesystem3::directory_iterator&, boost::filesystem3::directory_iterator>::value’:
/usr/include/boost/type_traits/is_convertible.hpp:295:5: required from ‘const bool boost::detail::is_convertible_impl<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>::value’
/usr/include/boost/type_traits/is_convertible.hpp:418:1: required from ‘struct boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>’
/usr/include/boost/mpl/aux_/nested_type_wknd.hpp:26:31: required from ‘struct boost::mpl::aux::nested_type_wknd<boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator> >’
/usr/include/boost/mpl/aux_/preprocessed/gcc/or.hpp:48:8: required from ‘struct boost::mpl::or_<boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>, boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >’
/usr/include/boost/iterator/detail/enable_if.hpp:68:12: required from ‘struct boost::iterators::enable_if<boost::mpl::or_<boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>, boost::is_convertible<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator>, mpl_::bool_<false>, mpl_::bool_<false>, mpl_::bool_<false> >, bool>’
/usr/include/boost/iterator/iterator_facade.hpp:67:12: required from ‘struct boost::detail::enable_if_interoperable<boost::filesystem3::directory_iterator, boost::filesystem3::directory_iterator, bool>’
/usr/include/boost/iterator/iterator_facade.hpp:837:3: required by substitution of ‘template<class Derived1, class V1, class TC1, class Reference1, class Difference1, class Derived2, class V2, class TC2, class Reference2, class Difference2> typename boost::detail::enable_if_interoperable<Derived1, Derived2, typename boost::mpl::apply2<boost::detail::always_bool2, Derived1, Derived2>::type>::type boost::operator!=(const boost::iterator_facade<Derived1, V1, TC1, Reference1, Difference1>&, const boost::iterator_facade<Derived2, V2, TC2, Reference2, Difference2>&) [with Derived1 = boost::filesystem3::directory_iterator; V1 = boost::filesystem3::directory_entry; TC1 = boost::single_pass_traversal_tag; Reference1 = boost::filesystem3::directory_entry&; Difference1 = long int; Derived2 = boost::filesystem3::directory_iterator; V2 = boost::filesystem3::directory_entry; TC2 = boost::single_pass_traversal_tag; Reference2 = boost::filesystem3::directory_entry&; Difference2 = long int]’
/usr/include/boost/filesystem/v3/operations.hpp:691:49: required from here
/usr/include/boost/type_traits/is_convertible.hpp:135:86: error: use of deleted function ‘boost::filesystem3::directory_iterator::directory_iterator(const boost::filesystem3::directory_iterator&)’
static bool const value = sizeof( boost::detail::checker<To>::_m_check(_m_from, 0) )
^
In file included from /usr/include/boost/filesystem.hpp:36:0,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:36:
/usr/include/boost/filesystem/v3/operations.hpp:581:9: note: ‘boost::filesystem3::directory_iterator::directory_iterator(const boost::filesystem3::directory_iterator&)’ is implicitly deleted because the default definition would be ill-formed:
class directory_iterator
^
/usr/include/boost/filesystem/v3/operations.hpp:581:9: error: use of deleted function ‘boost::shared_ptr<boost::filesystem3::detail::dir_itr_imp>::shared_ptr(const boost::shared_ptr<boost::filesystem3::detail::dir_itr_imp>&)’
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/dsn_types.h:112,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/task.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/service_api.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:26:
/usr/include/boost/smart_ptr/shared_ptr.hpp:168:25: note: ‘boost::shared_ptr<boost::filesystem3::detail::dir_itr_imp>::shared_ptr(const boost::shared_ptr<boost::filesystem3::detail::dir_itr_imp>&)’ is implicitly declared as deleted because ‘boost::shared_ptr<boost::filesystem3::detail::dir_itr_imp>’ declares a move constructor or move assignment operator
template<class T> class shared_ptr
^
In file included from /usr/include/boost/iterator/interoperable.hpp:13:0,
from /usr/include/boost/iterator/iterator_facade.hpp:11,
from /usr/include/boost/filesystem/v3/path.hpp:28,
from /usr/include/boost/filesystem.hpp:35,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:36:
/usr/include/boost/type_traits/is_convertible.hpp:128:41: error: initializing argument 1 of ‘static boost::type_traits::yes_type boost::detail::checker<T>::_m_check(T, int) [with T = boost::filesystem3::directory_iterator; boost::type_traits::yes_type = char]’
static boost::type_traits::yes_type _m_check(T, int);
^
/media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp: In function ‘bool dsn::internal_only::run(const char*, bool, std::string&, int)’:
/media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:150:32: error: ‘canonical’ is not a member of ‘boost::filesystem’
std::string cdir = boost::filesystem::canonical(boost::filesystem::path(spec.coredump_dir)).string();
^
In file included from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++allocator.h:33:0,
from /usr/include/c++/4.8/bits/allocator.h:46,
from /usr/include/c++/4.8/string:41,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/dsn_types.h:94,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/task.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/service_api.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:26:
/usr/include/c++/4.8/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = boost::filesystem3::directory_iterator; _Args = {boost::filesystem3::directory_iterator}; _Tp = boost::filesystem3::directory_iterator]’:
/usr/include/c++/4.8/bits/alloc_traits.h:254:4: required from ‘static typename std::enable_if<std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::value, void>::type std::allocator_traits<_Alloc>::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = boost::filesystem3::directory_iterator; _Args = {boost::filesystem3::directory_iterator}; _Alloc = std::allocator<boost::filesystem3::directory_iterator>; typename std::enable_if<std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::value, void>::type = void]’
/usr/include/c++/4.8/bits/alloc_traits.h:393:57: required from ‘static decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) std::allocator_traits<_Alloc>::construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = boost::filesystem3::directory_iterator; _Args = {boost::filesystem3::directory_iterator}; _Alloc = std::allocator<boost::filesystem3::directory_iterator>; decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) = <type error>]’
/usr/include/c++/4.8/bits/vector.tcc:97:40: required from ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {boost::filesystem3::directory_iterator}; _Tp = boost::filesystem3::directory_iterator; _Alloc = std::allocator<boost::filesystem3::directory_iterator>]’
/usr/include/c++/4.8/bits/stl_vector.h:920:36: required from ‘void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = boost::filesystem3::directory_iterator; _Alloc = std::allocator<boost::filesystem3::directory_iterator>; std::vector<_Tp, _Alloc>::value_type = boost::filesystem3::directory_iterator]’
/usr/include/c++/4.8/bits/stl_stack.h:192:9: required from ‘void std::stack<_Tp, _Sequence>::push(std::stack<_Tp, _Sequence>::value_type&&) [with _Tp = boost::filesystem3::directory_iterator; _Sequence = std::vector<boost::filesystem3::directory_iterator>; std::stack<_Tp, _Sequence>::value_type = boost::filesystem3::directory_iterator]’
/usr/include/boost/filesystem/v3/operations.hpp:685:65: required from here
/usr/include/c++/4.8/ext/new_allocator.h:120:4: error: use of deleted function ‘boost::filesystem3::directory_iterator::directory_iterator(const boost::filesystem3::directory_iterator&)’
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
^
In file included from /usr/include/c++/4.8/memory:64:0,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/dsn_types.h:95,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/internal/task.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/include/dsn/service_api.h:28,
from /media/0200784479D7F470/workspacecpp/rDSN/src/core/service_api.cpp:26:
/usr/include/c++/4.8/bits/stl_construct.h: In instantiation of ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 = boost::filesystem3::directory_iterator; _Args = {boost::filesystem3::directory_iterator}]’:
/usr/include/c++/4.8/bits/stl_uninitialized.h:75:53: required from ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<boost::filesystem3::directory_iterator*>; _ForwardIterator = boost::filesystem3::directory_iterator*; bool _TrivialValueTypes = false]’
/usr/include/c++/4.8/bits/stl_uninitialized.h:117:41: required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<boost::filesystem3::directory_iterator*>; _ForwardIterator = boost::filesystem3::directory_iterator*]’
/usr/include/c++/4.8/bits/stl_uninitialized.h:258:63: required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<boost::filesystem3::directory_iterator*>; _ForwardIterator = boost::filesystem3::directory_iterator*; _Tp = boost::filesystem3::directory_iterator]’
/usr/include/c++/4.8/bits/stl_uninitialized.h:281:69: required from ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = boost::filesystem3::directory_iterator*; _ForwardIterator = boost::filesystem3::directory_iterator*; _Allocator = std::allocator<boost::filesystem3::directory_iterator>]’
/usr/include/c++/4.8/bits/vector.tcc:415:43: required from ‘void std::vector<_Tp, _Alloc>::_M_emplace_back_aux(_Args&& ...) [with _Args = {boost::filesystem3::directory_iterator}; _Tp = boost::filesystem3::directory_iterator; _Alloc = std::allocator<boost::filesystem3::directory_iterator>]’
/usr/include/c++/4.8/bits/vector.tcc:101:54: required from ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {boost::filesystem3::directory_iterator}; _Tp = boost::filesystem3::directory_iterator; _Alloc = std::allocator<boost::filesystem3::directory_iterator>]’
/usr/include/c++/4.8/bits/stl_vector.h:920:36: required from ‘void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = boost::filesystem3::directory_iterator; _Alloc = std::allocator<boost::filesystem3::directory_iterator>; std::vector<_Tp, _Alloc>::value_type = boost::filesystem3::directory_iterator]’
/usr/include/c++/4.8/bits/stl_stack.h:192:9: required from ‘void std::stack<_Tp, _Sequence>::push(std::stack<_Tp, _Sequence>::value_type&&) [with _Tp = boost::filesystem3::directory_iterator; _Sequence = std::vector<boost::filesystem3::directory_iterator>; std::stack<_Tp, _Sequence>::value_type = boost::filesystem3::directory_iterator]’
/usr/include/boost/filesystem/v3/operations.hpp:685:65: required from here
/usr/include/c++/4.8/bits/stl_construct.h:75:7: error: use of deleted function ‘boost::filesystem3::directory_iterator::directory_iterator(const boost::filesystem3::directory_iterator&)’
{ ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
^
make[2]: *** [src/core/CMakeFiles/dsn.core.dir/service_api.cpp.o] Error 1
make[1]: *** [src/core/CMakeFiles/dsn.core.dir/all] Error 2
make: *** [all] Error 2
In function message_ex* message_ex::create_request(), core/src/rpc_message.cpp, line 427. Therefore if an app uses protobuf (e.g. tutorial/counter.proto), the generated function inline void marshall(binary_writer& writer, const GType &value, dsn_msg_serialize_format fmt) from macro GENERATED_TYPE_SERIALIZATION could throw assertion.
Hey guys, have you seen this thing by Pied Piper? These guys got a crazy 5.2 Weissman score on loss less video compression! Insane! But word on the street is that they're working on robust distributed networks. Maybe you should just acquire them.
fatal error: 'boost/shared_ptr.hpp' file not found
However IMHO they are neither root cause nor solution, I do not understand those var in dsn.cmake and how are they assigned/set.
I follow the "counter" example, but failed, how to fix it.
./dsn.cg.sh counter.thrift cpp counter
output directory 'counter' created.
exec: /root/setup/rDSN/rDSN-master/bin/Linux/thrift --gen rdsn -out counter counter.thrift
sh: thrift-gen-rdsn: command not found
plugin process returned non zero exit code: 32512
[WARNING:generation:1] Plugin generator for "rdsn" failed.
failed invoke thrift tool to generate 'counter/counter.php'
This is because when the program is compiled in debug mode, abort() will pop up a message box displaying options to Abort, Retry, or Ignore. Please refer to this. We could use _set_abort_behavior() to clear the _WRITE_ABORT_MSG flag.
Please refer to imzhenyu#552 for details.
duanmeng@ubuntu:~/work/rDSN/tutorial$ ../bin/dsn.cg.sh counter.thrift counter
exec: /home/duanmeng/work/rDSN/bin/Linux/thrift --gen rdsn -out counter counter.thrift
/home/duanmeng/work/rDSN/bin/Linux/thrift: 4: /home/duanmeng/work/rDSN/bin/Linux/thrift: Syntax error: Unterminated quoted string
../bin/dsn.cg.sh counter.thrift counter
in $RDSN/tutorialIt works fine in os x after copy Linux as Darwin in $RDSN/bin and grant execute permission in them
core dump:
F10:16:40.459 (1480990600459595051 156a) replica.io-thrd.05482: assertion expression: size >= this_size
F10:16:40.459 (1480990600459612035 156a) replica.io-thrd.05482: written buffer size does not equal to input buffer's size: 5256 vs 11448
source code:
aio_task* disk_file::on_write_completed(aio_task* wk, void* ctx, error_code err, size_t size)
{
auto ret = _write_queue.on_work_completed(wk, ctx);
while (wk)
{
aio_task* next = (aio_task*)wk->next;
wk->next = nullptr;
if (err == ERR_OK)
{
size_t this_size = (size_t)wk->aio()->buffer_size;
dassert(size >= this_size,
"written buffer size does not equal to input buffer's size: %d vs %d",
(int)size,
(int)this_size
);
wk->enqueue(err, this_size);
size -= this_size;
}
[Issue]
mguo@ubuntu:~/work/tutorial$ ../rdsn/bin/dsn.cg.sh counter.thrift counter
/home/mguo/work/rdsn/bin counter.thrift counter
exec: /home/mguo/work/rdsn/bin/Linux/thrift --gen rdsn -out counter counter.thrift
sh: 1: /home/mguo/work/rdsn/bin/Linux/thrift: Permission denied
failed invoke thrift tool to generate 'counter/counter.php'
[Fix]
After the git clone,
chmod +x rdsn/bin/thrift
Acutally we need to set executable permission for all executable binaries (like protobuf) in git repo.
It'd be great if we can mention this in the installation wiki page
Thanks
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: “cmd.exe”已退出,代码为 1。 [D:\rDSN\rDSN\builddbg\ext\thrift\thrift.vcxproj]
Hi,
Wish to be provided on BSD i.e. freebsd.
Very impressive project.
I have some questions and thanks for pointing out if I am wrong.
What's the consensus protocol used in the replication?
From the replication code, it seems to be the PacificA(http://research.microsoft.com/pubs/66814/tr-2008-25.pdf). Is this true?
As I known, the PacificA depends on a HA meta meta service to store the partition configuration. Is the current implements of meta service HA?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.