Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
7223128
initial commit
fredlas Feb 11, 2019
520e353
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Feb 11, 2019
88238ea
add note to version_history about the hot-restart-breaking changes
fredlas Feb 12, 2019
343ecaf
replace hot restart RPC proto with a protobuf-based one
fredlas Feb 13, 2019
676cbfb
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Feb 13, 2019
fd5187f
rearrange version_history list
fredlas Feb 13, 2019
cdf7eeb
rearrange version_history list again
fredlas Feb 13, 2019
ba050ff
remove not yet necessary SimpleMetric additions
fredlas Feb 13, 2019
4cc2c5d
address comments
fredlas Feb 14, 2019
2d478b2
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Feb 14, 2019
c6f2570
remove now unused resizeRecvBuf
fredlas Feb 14, 2019
4dcb47f
expected type helper cleanup
fredlas Feb 15, 2019
062dc24
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Feb 15, 2019
49ac058
make sendmsg always blocking
fredlas Feb 15, 2019
7176243
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Feb 15, 2019
9ab728e
initial work on stat combining logic, about to rip out shmem
fredlas Mar 4, 2019
0a2dd3a
initial apparently working version of stats not in shared memory
fredlas Mar 7, 2019
453fe6b
resolve merge
fredlas Mar 7, 2019
311bd4b
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Mar 7, 2019
1e1adbb
fix proto BUILD file
fredlas Mar 7, 2019
ac8324a
add basic unit test for combining logic
fredlas Mar 7, 2019
034c362
clean up comments, add basic unit test
fredlas Mar 7, 2019
14f0b4b
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Mar 7, 2019
ff2df39
added boolIndicator support, more testing
fredlas Mar 7, 2019
bd5a88b
remove max_stats shared memory limit
fredlas Mar 7, 2019
2fa39cd
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Mar 7, 2019
2906b9b
restore max-stats flag
fredlas Mar 18, 2019
73e3217
remove bool indicator stat combination
fredlas Mar 18, 2019
d4151f3
resolve conflict
fredlas Mar 18, 2019
9c63bf4
remove boolIndicator support, add all necessary combination logic exc…
fredlas Mar 18, 2019
d24f0d1
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Mar 18, 2019
ece40e6
bring max_stats field back into proto
fredlas Mar 27, 2019
3e064c9
resolve merge conflict
fredlas Mar 27, 2019
3a1911c
add words to dictionary
fredlas Mar 27, 2019
7233a5c
docs can no longer have max-stats tagged as an option
fredlas Mar 27, 2019
70445f0
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 5, 2019
982f4b4
move release notes to 1.11.0
fredlas Apr 5, 2019
683e523
Kick CI
fredlas Apr 8, 2019
708e0a3
address simple comments and merge master
fredlas Apr 12, 2019
c5a92fa
address simple comments and merge master conflict
fredlas Apr 12, 2019
f1bf534
hot restart no longer uses envoy.admin.v2alpha.SimpleMetric proto
fredlas Apr 15, 2019
1582531
break stat merging logic out into its own class
fredlas Apr 15, 2019
ae9998d
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 15, 2019
9133ff6
address comments, remove many uses of StatsOptions
fredlas Apr 16, 2019
2e07d8a
add TODOs
fredlas Apr 16, 2019
ee94b33
remove BooleanOr
fredlas Apr 17, 2019
072e086
switch combination logic exceptions to regex
fredlas Apr 17, 2019
0042aea
remove StatsOptions and max-obj-name-length
fredlas Apr 17, 2019
1e0052c
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 17, 2019
84cbb15
docs cleanup
fredlas Apr 18, 2019
c883fb5
add comments to merge logic exceptions
fredlas Apr 18, 2019
c50b1f4
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 18, 2019
bc6791f
bring test in line with changes i just made
fredlas Apr 18, 2019
cd7858d
add note about combine logic
fredlas Apr 18, 2019
86b3594
refactor server usage of hot restart
fredlas Apr 18, 2019
ab00d3a
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 18, 2019
b833808
delete RawStatData and BlockMemoryHashSet
fredlas Apr 18, 2019
0ff2ba9
remove requiresBoundedStatNameSize
fredlas Apr 18, 2019
5ca818a
remove unused raw_stat_data_test
fredlas Apr 18, 2019
6ec5536
fix test
fredlas Apr 18, 2019
191fdee
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 18, 2019
9b4b5c3
further cleanup and deletion
fredlas Apr 19, 2019
fbaa76f
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 19, 2019
4760aa9
fix weird TSAN failure
fredlas Apr 19, 2019
a967a1c
minor refactor of StatMerger anticipating all-gauges-logic verification
fredlas Apr 19, 2019
5fd8b77
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 19, 2019
07f6821
add verifyCombineLogicSpecified TODO
fredlas Apr 19, 2019
344ecef
apply some comments
fredlas Apr 23, 2019
bb8e14a
resolve merge conflict
fredlas Apr 23, 2019
8f6d830
first counter value shouldnt increment
fredlas Apr 24, 2019
7500f41
rename unix seconds
fredlas Apr 24, 2019
68e7a52
ConstCharStarHashMap
fredlas Apr 24, 2019
a0f5d47
comments
fredlas Apr 24, 2019
98bcdf2
fix test
fredlas Apr 24, 2019
e8c2dc8
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 24, 2019
95a8f65
separate out counter values from deltas
fredlas Apr 25, 2019
4c01657
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 25, 2019
2256fdc
stop sending whole counter value, cache combine logic
fredlas Apr 25, 2019
e2b0380
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 25, 2019
1f1dc51
fix uses of things i removed
fredlas Apr 25, 2019
6cc31a1
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 25, 2019
ed5d2bd
fix uses of things i removed
fredlas Apr 25, 2019
4fb5ce1
merge stats symbol table
fredlas Apr 26, 2019
2156168
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 26, 2019
20b2217
change static map to pointer
fredlas Apr 26, 2019
c90c713
add comment
fredlas Apr 26, 2019
88726c2
remove only import when unused logic option
fredlas Apr 29, 2019
e521b15
replace CombineLogic enum with bool
fredlas Apr 29, 2019
5b2b05e
remove accidental temp file
fredlas Apr 29, 2019
6019303
added TODO, and dont send 0 delta counters
fredlas Apr 29, 2019
b5f9a44
resolve conflict
fredlas Apr 29, 2019
4d7c740
add TODO
fredlas Apr 29, 2019
27b7d3f
hot restart parent tests
fredlas Apr 29, 2019
96fc99c
rename combineLogic to shouldImport
fredlas Apr 29, 2019
79b0eec
revert ConstCharStarHashMap and address comments
fredlas Apr 30, 2019
3d133c7
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 30, 2019
7228b85
unrevert, but now to StatNameHashMap
fredlas Apr 30, 2019
399033a
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas Apr 30, 2019
3521042
update BUILD
fredlas Apr 30, 2019
5eebdaa
enhance a StatMerger test
fredlas Apr 30, 2019
50bb3b8
Merge remote-tracking branch 'upstream/master' into RPC_non_recvmg_rpc
fredlas May 1, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions include/envoy/server/hot_restart.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ class HotRestart {
virtual void getParentStats(GetParentStatsInfo& info) PURE;

/**
* Initialize the restarter after primary server initialization begins. The hot restart
* implementation needs to be created early to deal with shared memory, logging, etc. so
* late initialization of needed interfaces is done here.
* Initialize the parent logic of our restarter. Meant to be called after initialization of a
* new child has begun. The hot restart implementation needs to be created early to deal with
* shared memory, logging, etc. so late initialization of needed interfaces is done here.
*/
virtual void initialize(Event::Dispatcher& dispatcher, Server::Instance& server) PURE;

Expand All @@ -66,12 +66,12 @@ class HotRestart {
virtual void shutdownParentAdmin(ShutdownParentAdminInfo& info) PURE;

/**
* Tell our parent to gracefully terminate itself.
* Tell our parent process to gracefully terminate itself.
*/
virtual void terminateParent() PURE;

/**
* Shutdown the hot restarter.
* Shutdown the half of our hot restarter that acts as a parent.
*/
virtual void shutdown() PURE;

Expand Down
43 changes: 41 additions & 2 deletions source/server/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -108,11 +108,52 @@ envoy_cc_library(
],
)

envoy_cc_library(
name = "hot_restarting_base",
srcs = envoy_select_hot_restart(["hot_restarting_base.cc"]),
hdrs = envoy_select_hot_restart(["hot_restarting_base.h"]),
deps = [
"//include/envoy/api:os_sys_calls_interface",
"//include/envoy/event:dispatcher_interface",
"//include/envoy/event:file_event_interface",
"//include/envoy/server:hot_restart_interface",
"//include/envoy/server:instance_interface",
"//include/envoy/server:options_interface",
"//source/common/api:os_sys_calls_lib",
"//source/common/common:assert_lib",
"//source/common/common:block_memory_hash_set_lib",
"//source/common/common:utility_lib",
"//source/common/network:utility_lib",
"//source/common/stats:raw_stat_data_lib",
"//source/common/stats:stats_options_lib",
],
)

envoy_cc_library(
name = "hot_restarting_child",
srcs = envoy_select_hot_restart(["hot_restarting_child.cc"]),
hdrs = envoy_select_hot_restart(["hot_restarting_child.h"]),
deps = [
":hot_restarting_base",
],
)

envoy_cc_library(
name = "hot_restarting_parent",
srcs = envoy_select_hot_restart(["hot_restarting_parent.cc"]),
hdrs = envoy_select_hot_restart(["hot_restarting_parent.h"]),
deps = [
":hot_restarting_base",
],
)

envoy_cc_library(
name = "hot_restart_lib",
srcs = envoy_select_hot_restart(["hot_restart_impl.cc"]),
hdrs = envoy_select_hot_restart(["hot_restart_impl.h"]),
deps = [
":hot_restarting_child",
":hot_restarting_parent",
"//include/envoy/api:os_sys_calls_interface",
"//include/envoy/event:dispatcher_interface",
"//include/envoy/event:file_event_interface",
Expand All @@ -122,8 +163,6 @@ envoy_cc_library(
"//source/common/api:os_sys_calls_lib",
"//source/common/common:assert_lib",
"//source/common/common:block_memory_hash_set_lib",
"//source/common/common:utility_lib",
"//source/common/network:utility_lib",
"//source/common/stats:raw_stat_data_lib",
"//source/common/stats:stats_options_lib",
],
Expand Down
Loading