Commit Graph

434 Commits (27510e96416568411a837b14fee5897beba764a7)

Author SHA1 Message Date
YuQing 2ebb51dcfd support alloc_recv_buffer callback 2022-08-25 18:22:16 +08:00
YuQing 3257a5f842 function sf_get_base_path_from_conf_file impl. 2022-08-20 09:59:36 +08:00
YuQing dc9267188d replication quorum support smart mode 2022-08-02 16:22:54 +08:00
YuQing 2d01d91b87 sf_connection_manager.c log module name 2022-07-29 16:40:41 +08:00
YuQing 94ee91d37d bugfixed: sf_file_writer_get_last_lines deal correctly when cross files 2022-07-21 18:34:11 +08:00
YuQing 5da65a172c request_metadata.c: check data_version > 0 for performance 2022-07-08 11:23:32 +08:00
YuQing 803d3cb626 IdempotencyRequestMetadata add field n for integer argument 2022-07-05 19:25:55 +08:00
YuQing a966d1bf4d sf_synchronize_finished_notify_no_lock impl. 2022-07-05 09:01:37 +08:00
YuQing 7cfb8dc89d add functions sf_synchronize_finished_notify/wait 2022-07-04 11:01:24 +08:00
YuQing d95e3ed679 remove debug info 2022-06-30 17:59:44 +08:00
YuQing f63ede788e generate seq_id only once per RPC 2022-06-29 15:02:38 +08:00
YuQing 990ef2d173 request_metadata.[hc] v2 impl. 2022-06-27 22:17:17 +08:00
YuQing 92613c765f request_metadata.[hc] first verson finished 2022-06-27 17:17:57 +08:00
YuQing b364a875c2 add files idempotency/server/request_metadata.[hc] 2022-06-27 11:30:01 +08:00
YuQing c6300318c8 use macro FC_SET_CLOEXEC from libfastcommon 2022-06-25 11:24:59 +08:00
YuQing dfc58be3ec add func sf_nio_add_to_deleted_list 2022-06-25 09:21:02 +08:00
YuQing 8824c35975 open file with flag O_CLOEXEC 2022-06-24 18:56:28 +08:00
YuQing 56ccde45ba idempotency seq_id includes server id and channel id for global unique 2022-06-24 10:37:10 +08:00
YuQing 7f7ba8d835 support set next version when order_mode is VARY 2022-06-24 07:46:04 +08:00
YuQing 22ffe6841d change default values of log_file_rotate_everyday and log_file_keep_days 2022-06-18 18:19:35 +08:00
YuQing 6dd3bfbb22 sf_replication_quorum_check changed 2022-06-17 11:24:31 +08:00
YuQing e8e6cfc64a add replication quorum type and functions 2022-06-16 16:01:01 +08:00
YuQing 1d1d4c9f00 sf_file_writer_get_binlog_indexes ignore file not exist 2022-06-03 15:32:07 +08:00
YuQing bcd1120617 sf_file_writer support specifying file prefix 2022-05-31 21:19:15 +08:00
YuQing 39e5dd419e custom define binlog rotate file size 2022-05-30 11:24:05 +08:00
YuQing 464573f9ff sf_file_writer_set_indexes impl. 2022-05-26 20:14:00 +08:00
YuQing f490366c03 sf_binlog_writer_change_write_index impl. 2022-05-19 18:14:33 +08:00
YuQing 353dde7059 add macro SF_ERROR_EINPROGRESS 2022-05-18 10:39:23 +08:00
YuQing 89a39e85d3 add macro SF_CLUSTER_ERROR_BINLOG_MISSED 2022-05-17 14:58:15 +08:00
YuQing c717646593 sf_file_writer_get_indexes impl. 2022-05-14 16:27:09 +08:00
YuQing c611b9b30c sf_file_writer.[hc] support start_index 2022-05-14 14:21:05 +08:00
YuQing 077a68a974 add two macros for vote node 2022-05-09 16:20:21 +08:00
YuQing 09839f9bf4 log service_name field when connect or communicate error 2022-05-08 10:44:55 +08:00
YuQing 00faf7e637 add function sf_load_cluster_config1 2022-05-06 15:12:19 +08:00
YuQing 07bbf65847 sf_proto_get_server_status_pack use struct 2022-05-06 09:48:49 +08:00
YuQing b38bf00a28 proto get_server_status remove field service_id 2022-04-30 10:20:30 +08:00
YuQing 7f92190c87 add SF_CLUSTER_PROTO_GET_SERVER_STATUS_REQ/RESP 2022-04-29 14:37:59 +08:00
YuQing 3734e68e0b sf_binlog_writer_finish check thread running 2022-04-24 10:57:19 +08:00
YuQing 78e321f4ad election quorum support sf_election_quorum_auto 2022-04-21 11:29:43 +08:00
YuQing 613c31fcf3 sf_binlog_writer_change_order_by check if versioned writer 2022-04-18 08:59:07 +08:00
YuQing 952647cbc9 order_by feature belongs to writer instead of thread 2022-04-17 18:18:18 +08:00
YuQing a57709de93 sf_connection_manager.c: make_master_connection refined 2022-04-15 16:58:42 +08:00
YuQing 7259eaf6ac log retry count when get connection fail 2022-04-11 10:24:21 +08:00
YuQing de943f684a add function sf_load_quorum_config 2022-03-30 21:22:34 +08:00
YuQing b4aaf69962 sf_buffered_writer.h: compile OK. 2022-03-25 15:30:14 +08:00
YuQing 68d41aa690 rename to sf_file_writer_deal_versioned_buffer 2022-03-22 08:23:03 +08:00
YuQing 1a03fec1f6 add function sf_file_writer_get_binlog_index 2022-03-19 16:36:11 +08:00
YuQing a727f382bc add function: sf_binlog_writer_notify_exit 2022-03-18 16:48:26 +08:00
YuQing a265bbbbea add function sf_binlog_writer_destroy 2022-03-17 20:52:41 +08:00
YuQing e061a3dfad add file src/sf_buffered_writer.h 2022-03-16 11:48:00 +08:00
YuQing d129c6151e add function sf_binlog_writer_get_index_filename 2022-03-08 17:13:29 +08:00
YuQing 8de3678e86 sf_load_global_config_ex: server_name can be NULL 2022-03-03 10:00:29 +08:00
YuQing 6549172c67 support function sf_sharding_htable_delete 2022-02-27 15:57:32 +08:00
YuQing 3e4ddce4a2 add function sf_load_global_base_path 2022-02-26 10:05:25 +08:00
YuQing 1ba160b6d7 change log level to debug 2022-02-25 09:45:40 +08:00
YuQing 9159d9c24b simple_hash rename to fc_simple_hash 2022-02-09 22:39:40 +08:00
YuQing 2d177ab262 sf_iov.[hc] add function sf_iova_memcpy_ex 2022-02-14 10:26:25 +08:00
YuQing 52e34ca393 sf_iova_memset_ex: add const modifier 2022-02-04 15:51:08 +08:00
YuQing fa9e00f3b8 sf_iova_memset_ex for iov and iovcnt 2022-02-04 15:37:59 +08:00
YuQing 5796655ce0 sf_iova_memset impl. 2022-02-04 15:22:11 +08:00
YuQing 23ff87dea0 iova_slice error detect 2022-02-04 10:59:00 +08:00
YuQing a46945b6cd add files: sf_iov.[hc] 2022-02-03 22:30:19 +08:00
YuQing 16f5b42b95 sf_synchronize_counter_wait: check SF_G_CONTINUE_FLAG 2022-01-12 07:05:27 +08:00
YuQing 15fc77703a function sf_serializer_read_message changed 2021-11-18 11:19:32 +08:00
YuQing 320f344b3e sf_serializer.[hc]: support id_name_array 2021-11-16 10:08:40 +08:00
YuQing 97b64c67fb sf_synchronize_counter_xxx use mutex lock all 2021-11-08 11:06:30 +08:00
YuQing f4bfe9ad25 move/set void pointer correctly 2021-11-04 20:51:33 +08:00
YuQing 255754eb5f add function sf_synchronize_counter_notify 2021-10-28 16:19:02 +08:00
YuQing b9b466c364 set last_versions.done when binlog_writer_set_next_version 2021-10-17 21:51:28 +08:00
YuQing cccb1c6d23 add function sf_synchronize_counter_wait 2021-10-12 10:54:30 +08:00
YuQing 0eb483f68c add function sf_serializer_pack_buffer 2021-10-09 10:20:31 +08:00
YuQing 1901189515 add struct SFSynchronizeContext 2021-10-05 20:03:05 +08:00
YuQing e35a3ca104 sf_serializer.[hc]: support string array 2021-10-01 09:13:46 +08:00
YuQing fd9d59dbd2 add function sf_binlog_index_expand_array 2021-09-27 17:43:56 +08:00
YuQing ae832465a1 sf_ordered_writer.[hc] impl 2021-09-22 10:53:38 +08:00
YuQing d2b828bd7a add files: sf_ordered_writer.[hc] 2021-09-21 17:07:11 +08:00
YuQing fb7ffa0b1d sf_binlog_writer removes global variable: g_sf_binlog_data_path 2021-09-21 09:26:10 +08:00
YuQing db858fc048 sf_binlog_writer uses sf_file_writer 2021-09-20 21:30:24 +08:00
YuQing 66fe9767f7 add files: sf_file_writer.[hc] 2021-09-20 20:55:23 +08:00
YuQing 8a1f905b2a rename function sf_serializer_read to sf_serializer_read_message 2021-09-20 10:42:47 +08:00
YuQing 8344c8309f sf_serializer.[hc] add function sf_serializer_read 2021-09-17 09:30:15 +08:00
YuQing edf9d58909 add function sf_serializer_pack_integer 2021-09-07 08:21:50 +08:00
YuQing d79310674e rename sf_serialize.[hc] to sf_serializer.[hc] 2021-09-06 10:18:05 +08:00
YuQing 88a0f0a267 add function sf_binlog_writer_get_last_version 2021-09-01 21:13:57 +08:00
YuQing 024c148700 add files: sf_binlog_index.[hc] 2021-08-21 16:12:03 +08:00
YuQing cc5f215a3a sf_serialize_next return array and map correctly 2021-08-20 17:36:20 +08:00
YuQing 62c874bc4f sf_serialize_unpack array and map impl 2021-08-20 11:06:12 +08:00
YuQing c529c5ab8c sf_serialize_unpack integer and string impl 2021-08-19 21:05:42 +08:00
YuQing 186d41fafe add files: sf_serialize.[hc] 2021-08-19 16:49:07 +08:00
YuQing 2d71c389f6 fast_mblock_init_ex1: unify obj name 2021-07-20 20:27:02 +08:00
YuQing 10ce86d879 add macro: SF_CLUSTER_ERROR_NOT_LEADER 2021-07-05 16:07:11 +08:00
YuQing 77b3938a80 change default network timeout from 30 to 10 2021-07-04 18:26:44 +08:00
YuQing 837e35ccc8 change default connect timeout from 10 to 2 2021-07-04 18:21:32 +08:00
YuQing 65876c51d7 section names use minus(-) such as error-log and slow-log 2021-07-04 10:11:45 +08:00
YuQing 2a57961b59 support error handler callback 2021-06-30 21:22:57 +08:00
YuQing 414f0f1efe add types: SFListLimitInfo and SFProtoLimitInfo 2021-06-29 22:42:02 +08:00
YuQing a42f9c6376 sf_usage_ex add action: status 2021-06-26 11:02:01 +08:00
YuQing c960975d65 sf_sharding_htable.c: correct function name 2021-06-17 15:58:52 +08:00
YuQing 4480a4a39c sf_sharding_htable.[hc]: use ms instead of second 2021-06-15 10:23:48 +08:00
YuQing 5e1444ef71 upgrade version to V1.1.9 2021-06-10 17:27:42 +08:00
YuQing b8f7a86060 avoid writev iovcnt overflow 2021-06-08 15:40:49 +08:00
YuQing d11243964b call writev for iovec array 2021-06-08 14:19:11 +08:00
YuQing ba70c63e80 add type SFMemoryWatermark 2021-06-04 14:48:06 +08:00
YuQing f72295e103 use fc_queue_try_pop_to_queue from libfastcommon 2021-06-01 17:09:57 +08:00
YuQing c1f6fb797b change macro SF_G_BASE_PATH to SF_G_BASE_PATH_STR 2021-05-27 07:58:26 +08:00
YuQing 5befb9d616 add function sf_set_global_base_path 2021-05-25 18:48:33 +08:00
YuQing 561b7c8d7c upgrade version to V1.1.8 2021-05-25 18:32:08 +08:00
YuQing 02eaad6a89 check required argument 2021-05-20 16:49:53 +08:00
YuQing af7b8010f8 correct type from bool to int :( 2021-05-24 21:11:56 +08:00
YuQing c701e4b1c3 correct macro define: sf_parse_daemon_mode_and_action 2021-05-24 20:53:33 +08:00
YuQing 667fd14abb parse cmd options strictly 2021-05-24 20:33:56 +08:00
YuQing d5fb83a140 change -n to -N for option --no-daemon 2021-05-24 14:40:06 +08:00
YuQing c841d6c1b0 change default values 2021-05-23 21:36:43 +08:00
YuQing 662e2036f6 add function sf_load_cluster_config_by_file 2021-05-22 17:12:27 +08:00
YuQing 4d1ef0ba1a add function sf_parse_cmd_option_bool 2021-05-20 09:55:02 +08:00
YuQing 89cef5e19d sf_usage support print other options 2021-05-19 11:50:09 +08:00
YuQing 808984bf1b sf_parse_daemon_mode_and_action enhancement 2021-05-14 16:57:38 +08:00
YuQing e93f6aa506 set max_pkg_size correctly
output size parameters more gracefully
2021-05-11 12:11:37 +08:00
YuQing e3a37b4e41 Merge branch 'config_simplify' 2021-05-10 20:29:36 +08:00
YuQing 01c2beed8a do NOT set thread name in main thread 2021-04-30 15:04:40 +08:00
YuQing 592fb2b866 sf_binlog_writer: change thread name for unity 2021-04-30 10:13:08 +08:00
YuQing eea7adde7c set thread name as necessary 2021-04-29 21:33:05 +08:00
YuQing 7d5e5d2340 merge cluster.conf and servers.conf 2021-04-28 20:25:55 +08:00
YuQing 03b6d7b20a change output of sf_log_network_error_ex1 2021-04-24 18:11:33 +08:00
YuQing 0d79aaf870 add macro SF_SESSION_ERROR_NOT_EXIST 2021-04-20 10:15:56 +08:00
YuQing 94bcf26518 bugfixed: sf_server_update_prepare_and_check MUST use request->body 2021-04-19 21:43:19 +08:00
YuQing e4d529ab29 define macro SF_CLUSTER_CONFIG_SIGN_LEN 2021-04-19 15:29:28 +08:00
YuQing 1443288d29 add macros SF_PROTO_CLIENT_SET_REQ etc. 2021-04-19 08:58:51 +08:00
YuQing 13a21d5908 add types and macros 2021-04-16 21:44:40 +08:00
YuQing 2792b2f275 sf_load_cluster_config_ex: add param full_cluster_filename 2021-04-12 15:29:46 +08:00
YuQing ee179a16f7 sf_recv_response_header: call SF_PROTO_CHECK_MAGIC 2021-04-12 15:29:01 +08:00
YuQing 68db56790c add function sf_notify_all_threads_ex 2021-04-09 21:26:57 +08:00
YuQing f563bb17ef SFProtoRecvBuffer enhanced (add SFProtoRBufferFixedWrapper) 2021-04-07 14:57:52 +08:00
YuQing b49a3370f5 add sf_cluster_cfg.[hc] 2021-03-31 11:00:03 +08:00
YuQing 9f232770da add sf_recv_vary_response and sf_send_and_recv_vary_response 2021-03-19 18:53:59 +08:00
YuQing a7a8f5af4b change connection_manager extra pointer 2021-03-17 14:32:51 +08:00
YuQing f60fcf0d82 server_expect_body_length etc.: remove useless task parameter 2021-03-16 19:05:50 +08:00
YuQing aa4f66c578 add macro server_expect_body_length etc. 2021-03-11 15:16:43 +08:00
YuQing 86017c46ac add functions sf_proto_init_task_context, sf_proto_deal_task_done etc. 2021-03-10 11:15:09 +08:00
YuQing ae600238bc add ENODATA convert 2021-03-05 11:25:21 +08:00
YuQing 221ae1727d add type SFKeyValueArray 2021-03-03 20:57:00 +08:00
YuQing 3616fde9e0 push_to_detect_queue when two sptr arrays equal 2021-02-22 21:50:49 +08:00
YuQing 89dd6733b6 split to prepare and start due to daemon_init 2021-02-22 21:21:25 +08:00
YuQing f3e24601d2 connection manager: support detect server for alive 2021-02-22 19:37:57 +08:00
YuQing f7ac526284 connection_manager support option: bg_thread_enabled 2021-02-21 21:20:36 +08:00
YuQing 47ed8fb46c faststore use this connection manager 2021-02-20 12:49:11 +08:00
YuQing 4aeec5385a sf_connection_manager impl all interfaces 2021-02-19 21:05:38 +08:00
YuQing 85f76e2f47 sf_connection_manager impl get_connection etc. 2021-02-19 16:47:45 +08:00
YuQing 3dc8efde5c impl proto_get_group_servers client side 2021-02-18 16:36:33 +08:00
YuQing 54b464e0f5 add get_group_servers protocol 2021-02-17 20:40:33 +08:00
YuQing 25dacd361f impl connection_manager init and add 2021-02-17 11:18:56 +08:00
YuQing 42715c9be0 add sf_connection_manager.[hc] 2021-02-15 13:26:51 +08:00
YuQing 67b412fb88 bugfixed: MUST set stage to SF_NIO_STAGE_NONE first for re-entry 2021-02-10 21:38:45 +08:00
YuQing 3a4a7069b9 add type SFBinlogWriterStat 2021-02-10 11:33:48 +08:00
YuQing 11165cbb20 log NULL continue_callback with SF_NIO_STAGE_CONTINUE 2021-02-09 22:25:32 +08:00
YuQing 1b4e0ad870 bugfixed: do NOT check order_by in sf_binlog_writer_change_next_version 2021-02-08 17:30:21 +08:00
YuQing 87b2e19766 add macro SF_CLUSTER_ERROR_LEADER_VERSION_INCONSISTENT 2021-01-25 16:21:18 +08:00
YuQing 3659542eba sf_binlog_writer: change order_by gracefully 2021-01-24 22:34:19 +08:00
YuQing ad8a7c379b log error when idempotency request not finished 2021-01-22 10:13:05 +08:00
YuQing 76f757f2bd bugfixed: add_to_flush_writer_queue MUST before deal function 2021-01-21 10:43:39 +08:00
YuQing 1ece8a3389 binlog writer simplify versioned buffer queue 2021-01-21 10:13:21 +08:00
YuQing 8040af4743 add macro SF_IS_SERVER_RETRIABLE_ERROR 2021-01-19 17:00:50 +08:00
YuQing 6bea6c93a9 add error code SF_ERROR_EOPNOTSUPP 2021-01-19 09:46:28 +08:00
YuQing 223f15fb79 add functions: sf_set_deal_task_func_ex etc. 2021-01-18 11:25:32 +08:00
YuQing 077c29e2b6 convert errno EBUSY 2021-01-12 17:58:19 +08:00
YuQing 20b0cee201 correct RETRIABLE and FORCE_CLOSE errno 2021-01-08 16:06:21 +08:00
YuQing 0014cfa154 add tag for debug 2021-01-07 20:19:13 +08:00
YuQing e459a0c255 should include sf_util.h 2021-01-07 15:44:37 +08:00
YuQing 1f95bdf89b call sf_localize_errno in sf_proto_extract_header 2021-01-07 15:40:23 +08:00
YuQing c0128c0f15 unify errno for crossing platform 2021-01-07 12:20:40 +08:00
YuQing 0825cfc5fe fast_mblock_free_object writer buffer 2021-01-06 18:45:26 +08:00
YuQing f01231bc48 upgrade version to 1.1.2 2021-01-01 08:21:57 +08:00
YuQing 0012c2de92 change function sf_add_slow_log_schedule prototype 2020-12-30 16:23:39 +08:00
YuQing a05e343e9b slow log config and schedule 2020-12-29 21:20:35 +08:00
YuQing fc5480214a unify log relative configs 2020-12-29 16:25:19 +08:00
YuQing b7b6ad46f6 add macro: sf_log_network_error_for_update 2020-12-19 10:10:34 +08:00
YuQing f7e76c0a97 support rebind idempotency channel 2020-12-18 22:27:10 +08:00
YuQing 269ada2688 support key_type one and two 2020-12-10 14:43:49 +08:00
YuQing 56eda633d8 add src/sf_sharding_htable.[hc] 2020-12-10 14:13:40 +08:00
YuQing 1d9add37fb add macro SF_BINLOG_BUFFER_SET_VERSION 2020-12-09 22:23:21 +08:00
YuQing d7309da368 sf_binlog_writer support version range 2020-12-09 11:46:12 +08:00
YuQing a6b9d8d08d TCP_SET_QUICK_ACK for Linux 2020-12-06 17:00:14 +08:00
YuQing 9f7af9b35d use iniGetByteCorrectValueEx to get byte value 2020-12-03 10:30:17 +08:00
YuQing e01048f462 network buff_size support extra size 2020-12-01 21:00:06 +08:00
YuQing acf27b0e4f use newest fast_timer in libfastcommon 2020-11-23 11:46:22 +08:00
YuQing baf9ad7c94 fix compile error: add -Iinclude CFLAGS 2020-11-09 21:02:29 +08:00
YuQing 4a92e31272 sf_nio_notify more graceful 2020-11-09 09:18:25 +08:00
YuQing cce11f56cb use function lcp_timedwait_sec 2020-10-31 14:20:12 +08:00
YuQing 42c8a65a8f logDebug when then nio stage equals to the target 2020-10-28 16:21:09 +08:00
YuQing b9b5dd490d add function sf_strerror 2020-10-28 16:07:22 +08:00
YuQing 719f8b2b32 task use reffer_count for share 2020-10-28 14:16:58 +08:00
YuQing 946bd8fe46 clear nio_stages.notify when task canceled 2020-10-27 08:56:31 +08:00
YuQing b9e22e61fc flush_writers: use chain instead of ptr array 2020-10-26 16:48:48 +08:00
YuQing 99f80b847e sf_load_read_rule_config support default value 2020-10-25 20:40:14 +08:00
YuQing e0bba18a02 use atomic operation to avoid reentrance 2020-10-21 09:32:49 +08:00
YuQing 5c6cff1ea3 check and correct thread_stack_size 2020-10-20 20:40:55 +08:00
YuQing 1854683ddd nio stage change to 2 fields: current and notify 2020-10-19 16:39:43 +08:00
YuQing 52254b522b correct active_test spell 2020-10-19 14:36:46 +08:00
YuQing 38df5d412c add AGPLv3 license and copyright 2020-10-14 10:33:41 +08:00
YuQing 79d367854b add type struct sf_space_stat 2020-10-11 12:53:41 +08:00