Skip to content

Plugin reload - #5282

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

gtenev merged 1 commit into
apache:masterfrom
gtenev:plugin_reload

Conversation

@gtenev

@gtenev gtenev commented Apr 16, 2019

Copy link
Copy Markdown
Contributor

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

gtenev commented Apr 17, 2019

Copy link
Copy Markdown
Contributor Author

[approve ci autest]

Comment thread configure.ac Outdated
Comment thread doc/developer-guide/plugins/reloading-plugins.en.rst
@gtenev

gtenev commented May 10, 2019

Copy link
Copy Markdown
Contributor Author

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

zwoop commented May 10, 2019

Copy link
Copy Markdown
Contributor

Hmmm, it still fails with clang8 on FreeBSD.

@zwoop

zwoop commented May 10, 2019

Copy link
Copy Markdown
Contributor

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

zwoop commented May 10, 2019

Copy link
Copy Markdown
Contributor

Blocks #5457

@gtenev

gtenev commented May 10, 2019

Copy link
Copy Markdown
Contributor Author

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

gtenev commented Jun 13, 2019

Copy link
Copy Markdown
Contributor Author

[approve ci autest]

@gtenev

gtenev commented Jun 21, 2019

Copy link
Copy Markdown
Contributor Author

[approve ci clang-analyzer]

@gtenev

gtenev commented Jun 24, 2019

Copy link
Copy Markdown
Contributor Author
  • 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

gtenev commented Jul 15, 2019

Copy link
Copy Markdown
Contributor Author

@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