Skip to content

Plugin reload#5282

Merged
gtenev merged 1 commit intoapache:masterfrom
gtenev:plugin_reload
Jul 17, 2019
Merged

Plugin reload#5282
gtenev merged 1 commit intoapache:masterfrom
gtenev:plugin_reload

Conversation

@gtenev
Copy link
Copy Markdown
Contributor

@gtenev gtenev commented Apr 16, 2019

Reloading plugin allows new versions of a plugin code to be loaded
and executed and old versions to be unloaded without restarting
the traffic server process.

More info in doc/developer-guide/plugins/reloading-plugins.en.rst

@gtenev gtenev added this to the 9.0.0 milestone Apr 16, 2019
@gtenev gtenev requested review from SolidWallOfCode and zwoop April 16, 2019 23:09
@gtenev gtenev self-assigned this Apr 16, 2019
@gtenev gtenev added the WIP label Apr 17, 2019
@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented Apr 17, 2019

[approve ci autest]

Comment thread configure.ac Outdated
Comment thread doc/developer-guide/plugins/reloading-plugins.en.rst
@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented May 10, 2019

Addressed feedback from the ATS summit:

  • plugins to be reloaded only if DSO file modification timestamp changes to avoid unnecessary DSO loads
  • tricks to avoid leaving orphan runtime/temporary files and directories in case of ATS crash

@zwoop
Copy link
Copy Markdown
Contributor

zwoop commented May 10, 2019

Hmmm, it still fails with clang8 on FreeBSD.

@zwoop
Copy link
Copy Markdown
Contributor

zwoop commented May 10, 2019

Doesn't build on FreeBSD12 with llvm8 :-/. I really kinda dislike all these checks for c++fs, are we sure we really want to drag in this nightmare ?

@zwoop
Copy link
Copy Markdown
Contributor

zwoop commented May 10, 2019

Blocks #5457

@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented May 10, 2019

yeah, FreeBSD + clang seems to be problematic, will look into it

Comment thread doc/developer-guide/plugins/reloading-plugins.en.rst
@gtenev gtenev removed the WIP label May 24, 2019
@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented Jun 13, 2019

[approve ci autest]

@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented Jun 21, 2019

[approve ci clang-analyzer]

@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented Jun 24, 2019

  • got rid of std::filesystem usage (on FreeBSD std::filesystem is not part of llvm/clang std library by default), implemented and added what is needed/missing to ts::file
  • moved the design document to doc/developer-guide/design-documents

Any other feedback, ideas, considerations ?

Comment thread doc/developer-guide/api/functions/TSVConnCreate.en.rst
Comment thread include/tscore/ts_file.h Outdated
Comment thread proxy/http/remap/PluginFactory.cc Outdated
Comment thread proxy/http/remap/PluginFactory.cc Outdated
Comment thread proxy/http/remap/RemapPluginInfo.cc
Comment thread proxy/http/remap/RemapPluginInfo.cc Outdated
Comment thread proxy/http/remap/PluginDso.cc
Comment thread proxy/http/remap/PluginDso.cc Outdated
Comment thread proxy/http/remap/PluginFactory.cc Outdated
Reloading plugin allows new versions of a plugin code to be loaded
and executed and old versions to be unloaded without restarting
the traffic server process.

More info in doc/developer-guide/plugins/reloading-plugins.en.rst
@gtenev
Copy link
Copy Markdown
Contributor Author

gtenev commented Jul 15, 2019

@SolidWallOfCode, could you reiterate your 👍? Pushed a change with comment clarification and c-style casting removal which removed your approving review.

@bryancall bryancall self-requested a review July 16, 2019 16:08
@SolidWallOfCode SolidWallOfCode self-requested a review July 17, 2019 15:43
@gtenev gtenev merged commit 1eca389 into apache:master Jul 17, 2019
@gtenev gtenev deleted the plugin_reload branch July 17, 2019 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants