Coder Social home page Coder Social logo

microsoft / rdsn Goto Github PK

View Code? Open in Web Editor NEW
969.0 164.0 214.0 83.05 MB

Robust Distributed System Nucleus (rDSN) is an open framework for quickly building and managing high performance and robust distributed systems.

License: MIT License

CMake 1.13% Shell 1.26% PHP 2.74% C++ 59.76% Thrift 0.08% Batchfile 0.66% C 3.99% Python 0.74% C# 2.93% JavaScript 24.33% CSS 0.42% HTML 1.95% Dockerfile 0.02%

rdsn's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rdsn's Issues

Looking for a deeper understanding (unable to post to [email protected])

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.

build error: suggest explicit braces to avoid ambiguous ‘else’

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)

use of map in configuration.cpp

in configuration.cpp line187:
pSection = &it.first->second;
I think it should change to as follow:
pSection = &it->second

library not found for -ldsn.failure_detector

Description

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

Reproduce Steps

  1. Follow step 1.3 tutorials::SingleNode
  2. cmake and make -j in $RDSN/tutorial/counter/build

Error Log

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

Could you help to enable adding issues in rocksdb.replicated project?

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~

./run.sh test failed

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.

Unclear licensing situation for code in csproj.template.php

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).

Compile source code error in service_api.cpp

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

nucleus, ever heard of pied piper

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.

/usr/local/include is not added to include path of rdsn in OS X Yosemite

Reproduce Steps

  1. follow the installation step in mac os x yosemite part of tutorials
  2. mkdir $RDSN/mybuilddir; cd mybuilddir; cmake .. -DCMAKE_INSTALL_PREFIX=/opt/rdsn
  3. sudo make install

Error Message

fatal error: 'boost/shared_ptr.hpp' file not found

My Analysis

  1. boost/shared_ptr.hpp is indeed in /usr/local/include of my mac
  2. it works fined in ubuntu 1404 LTS
  3. it seems /usr/local/include is not add to the rdsn project's include path

My Workaround

  1. add "include_directories(/usr/local/include" in function dsn_setup_include_path in $RDSN/bin/dsn.cmake
  2. sudo make install and it works fine

However IMHO they are neither root cause nor solution, I do not understand those var in dsn.cmake and how are they assigned/set.

sh: thrift-gen-rdsn: command not found

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'

Syntax error: Unterminated quoted string

Error Log

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

Reproduce Steps

  1. Following the step 1.2 in tutorial::SingleNode
  2. Execute ../bin/dsn.cg.sh counter.thrift counter in $RDSN/tutorial

It works fine in os x after copy Linux as Darwin in $RDSN/bin and grant execute permission in them

aio write imcompletely bug

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;
        }

"Thrift: Permission denied" under Ubuntu 14

[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

error

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]

BSD support

Hi,
Wish to be provided on BSD i.e. freebsd.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.