{"action":"created","comment":{"url":"https://api.github.com/repos/lsst/qserv/pulls/comments/42088526","id":42088526,"diff_hunk":"@@ -0,0 +1,148 @@\n+// -*- LSST-C++ -*-\n+/*\n+ * LSST Data Management System\n+ * Copyright 2014-2015 AURA/LSST.\n+ *\n+ * This product includes software developed by the\n+ * LSST Project (http://www.lsst.org/).\n+ *\n+ * This program is free software: you can redistribute it and/or modify\n+ * it under the terms of the GNU General Public License as published by\n+ * the Free Software Foundation, either version 3 of the License, or\n+ * (at your option) any later version.\n+ *\n+ * This program is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n+ * GNU General Public License for more details.\n+ *\n+ * You should have received a copy of the LSST License Statement and\n+ * the GNU General Public License along with this program.  If not,\n+ * see <http://www.lsstcorp.org/LegalNotices/>.\n+ */\n+/// Implement XrdSsiProviderServer to provide Qserv's SsiService\n+/// implementation. Link this file when building a plugin to be used as\n+/// ssi.svclib or oss.statlib.\n+\n+// Class header\n+#include \"xrdsvc/SsiProvider.h\"\n+\n+// System headers\n+#include <memory>\n+#include <sstream>\n+#include <sys/types.h>\n+\n+// Third party headers\n+#include \"XrdSsi/XrdSsiCluster.hh\"\n+#include \"XrdSsi/XrdSsiLogger.hh\"\n+\n+// LSST headers\n+#include \"lsst/log/Log.h\"\n+\n+// Qserv headers\n+#include \"global/ResourceUnit.h\"\n+#include \"wpublish/ChunkInventory.h\"\n+#include \"xrdsvc/XrdName.h\"\n+\n+/******************************************************************************/\n+/*                               G l o b a l s                                */\n+/******************************************************************************/\n+\n+XrdSsiProvider *XrdSsiProviderServer = \n+                new  lsst::qserv::xrdsvc::SsiProviderServer;\n+\n+XrdSsiProvider *XrdSsiProviderLookup = XrdSsiProviderServer;\n+  \n+/******************************************************************************/\n+/*                                  I n i t                                   */\n+/******************************************************************************/\n+  \n+namespace lsst {\n+namespace qserv {\n+namespace xrdsvc {\n+\n+bool SsiProviderServer::Init(XrdSsiLogger* logP,  XrdSsiCluster* clsP, char const* cfgFn,\n+          char const*   parms, int argc, char **argv) {\n+\n+    lsst::qserv::xrdsvc::XrdName x;\n+\n+// Establish our instance name (many different qservs may be running here).\n+//\n+    _name = x.getName();\n+\n+// Save the ssi logger as it places messages in anoher file than our log.","path":"core/modules/xrdsvc/SsiProvider.cc","position":73,"original_position":73,"commit_id":"b9131d893c392beea193dcdbd52ce9345dc01154","original_commit_id":"a967ffe774797aef918e2e9c9c2fa820281ef646","user":{"login":"abh3","id":2657143,"avatar_url":"https://avatars.githubusercontent.com/u/2657143?v=3","gravatar_id":"","url":"https://api.github.com/users/abh3","html_url":"https://github.com/abh3","followers_url":"https://api.github.com/users/abh3/followers","following_url":"https://api.github.com/users/abh3/following{/other_user}","gists_url":"https://api.github.com/users/abh3/gists{/gist_id}","starred_url":"https://api.github.com/users/abh3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abh3/subscriptions","organizations_url":"https://api.github.com/users/abh3/orgs","repos_url":"https://api.github.com/users/abh3/repos","events_url":"https://api.github.com/users/abh3/events{/privacy}","received_events_url":"https://api.github.com/users/abh3/received_events","type":"User","site_admin":false},"body":"Well, we can change that. All we need to do is come up with exactly how \nyou want log messages to be routed and that can be built into the XRootD \ninfrastructure. You are not the only person that has made that point. What \nno one has wanted to do is spend time to come up with the \"rules\".\n\nAndy\n\nOn Wed, 14 Oct 2015, Andy wrote:\n\n>> +/******************************************************************************/\n>> +\n>> +namespace lsst {\n>> +namespace qserv {\n>> +namespace xrdsvc {\n>> +\n>> +bool SsiProviderServer::Init(XrdSsiLogger* logP,  XrdSsiCluster* clsP, char const* cfgFn,\n>> +          char const*   parms, int argc, char **argv) {\n>> +\n>> +    lsst::qserv::xrdsvc::XrdName x;\n>> +\n>> +// Establish our instance name (many different qservs may be running here).\n>> +//\n>> +    _name = x.getName();\n>> +\n>> +// Save the ssi logger as it places messages in anoher file than our log.\n>\n> For worker side (xrootd side) we have special log4cxx appender configured which redirects LOG_SMTHG() output to xrootd log (I'd prefer it other way round but xrootd logging is not message-oriented so it's hard to do). SO in principle for workers we should have just one log file. Or do I miss something else?\n>\n> ---\n> Reply to this email directly or view it on GitHub:\n> https://github.com/lsst/qserv/pull/143/files#r42085816\n","created_at":"2015-10-15T06:52:11Z","updated_at":"2015-10-15T06:52:11Z","html_url":"https://github.com/lsst/qserv/pull/143#discussion_r42088526","pull_request_url":"https://api.github.com/repos/lsst/qserv/pulls/143","_links":{"self":{"href":"https://api.github.com/repos/lsst/qserv/pulls/comments/42088526"},"html":{"href":"https://github.com/lsst/qserv/pull/143#discussion_r42088526"},"pull_request":{"href":"https://api.github.com/repos/lsst/qserv/pulls/143"}}},"pull_request":{"url":"https://api.github.com/repos/lsst/qserv/pulls/143","id":47603444,"html_url":"https://github.com/lsst/qserv/pull/143","diff_url":"https://github.com/lsst/qserv/pull/143.diff","patch_url":"https://github.com/lsst/qserv/pull/143.patch","issue_url":"https://api.github.com/repos/lsst/qserv/issues/143","number":143,"state":"open","locked":false,"title":"fDM-2334: Remove unneeded xrootd oss plugin","user":{"login":"abh3","id":2657143,"avatar_url":"https://avatars.githubusercontent.com/u/2657143?v=3","gravatar_id":"","url":"https://api.github.com/users/abh3","html_url":"https://github.com/abh3","followers_url":"https://api.github.com/users/abh3/followers","following_url":"https://api.github.com/users/abh3/following{/other_user}","gists_url":"https://api.github.com/users/abh3/gists{/gist_id}","starred_url":"https://api.github.com/users/abh3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abh3/subscriptions","organizations_url":"https://api.github.com/users/abh3/orgs","repos_url":"https://api.github.com/users/abh3/repos","events_url":"https://api.github.com/users/abh3/events{/privacy}","received_events_url":"https://api.github.com/users/abh3/received_events","type":"User","site_admin":false},"body":"This requires the latest XRDSsi version. Fritz is working on integrating it.","created_at":"2015-10-13T23:51:41Z","updated_at":"2015-10-15T06:52:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"84b8cdca63b8ea67b3ecf7223aa32e360c027f6c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/lsst/qserv/pulls/143/commits","review_comments_url":"https://api.github.com/repos/lsst/qserv/pulls/143/comments","review_comment_url":"https://api.github.com/repos/lsst/qserv/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lsst/qserv/issues/143/comments","statuses_url":"https://api.github.com/repos/lsst/qserv/statuses/b9131d893c392beea193dcdbd52ce9345dc01154","head":{"label":"lsst:tickets/DM-2334","ref":"tickets/DM-2334","sha":"b9131d893c392beea193dcdbd52ce9345dc01154","user":{"login":"lsst","id":1134504,"avatar_url":"https://avatars.githubusercontent.com/u/1134504?v=3","gravatar_id":"","url":"https://api.github.com/users/lsst","html_url":"https://github.com/lsst","followers_url":"https://api.github.com/users/lsst/followers","following_url":"https://api.github.com/users/lsst/following{/other_user}","gists_url":"https://api.github.com/users/lsst/gists{/gist_id}","starred_url":"https://api.github.com/users/lsst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsst/subscriptions","organizations_url":"https://api.github.com/users/lsst/orgs","repos_url":"https://api.github.com/users/lsst/repos","events_url":"https://api.github.com/users/lsst/events{/privacy}","received_events_url":"https://api.github.com/users/lsst/received_events","type":"Organization","site_admin":false},"repo":{"id":23013460,"name":"qserv","full_name":"lsst/qserv","owner":{"login":"lsst","id":1134504,"avatar_url":"https://avatars.githubusercontent.com/u/1134504?v=3","gravatar_id":"","url":"https://api.github.com/users/lsst","html_url":"https://github.com/lsst","followers_url":"https://api.github.com/users/lsst/followers","following_url":"https://api.github.com/users/lsst/following{/other_user}","gists_url":"https://api.github.com/users/lsst/gists{/gist_id}","starred_url":"https://api.github.com/users/lsst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsst/subscriptions","organizations_url":"https://api.github.com/users/lsst/orgs","repos_url":"https://api.github.com/users/lsst/repos","events_url":"https://api.github.com/users/lsst/events{/privacy}","received_events_url":"https://api.github.com/users/lsst/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lsst/qserv","description":"LSST Query Services","fork":false,"url":"https://api.github.com/repos/lsst/qserv","forks_url":"https://api.github.com/repos/lsst/qserv/forks","keys_url":"https://api.github.com/repos/lsst/qserv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lsst/qserv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lsst/qserv/teams","hooks_url":"https://api.github.com/repos/lsst/qserv/hooks","issue_events_url":"https://api.github.com/repos/lsst/qserv/issues/events{/number}","events_url":"https://api.github.com/repos/lsst/qserv/events","assignees_url":"https://api.github.com/repos/lsst/qserv/assignees{/user}","branches_url":"https://api.github.com/repos/lsst/qserv/branches{/branch}","tags_url":"https://api.github.com/repos/lsst/qserv/tags","blobs_url":"https://api.github.com/repos/lsst/qserv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lsst/qserv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lsst/qserv/git/refs{/sha}","trees_url":"https://api.github.com/repos/lsst/qserv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lsst/qserv/statuses/{sha}","languages_url":"https://api.github.com/repos/lsst/qserv/languages","stargazers_url":"https://api.github.com/repos/lsst/qserv/stargazers","contributors_url":"https://api.github.com/repos/lsst/qserv/contributors","subscribers_url":"https://api.github.com/repos/lsst/qserv/subscribers","subscription_url":"https://api.github.com/repos/lsst/qserv/subscription","commits_url":"https://api.github.com/repos/lsst/qserv/commits{/sha}","git_commits_url":"https://api.github.com/repos/lsst/qserv/git/commits{/sha}","comments_url":"https://api.github.com/repos/lsst/qserv/comments{/number}","issue_comment_url":"https://api.github.com/repos/lsst/qserv/issues/comments{/number}","contents_url":"https://api.github.com/repos/lsst/qserv/contents/{+path}","compare_url":"https://api.github.com/repos/lsst/qserv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lsst/qserv/merges","archive_url":"https://api.github.com/repos/lsst/qserv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lsst/qserv/downloads","issues_url":"https://api.github.com/repos/lsst/qserv/issues{/number}","pulls_url":"https://api.github.com/repos/lsst/qserv/pulls{/number}","milestones_url":"https://api.github.com/repos/lsst/qserv/milestones{/number}","notifications_url":"https://api.github.com/repos/lsst/qserv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lsst/qserv/labels{/name}","releases_url":"https://api.github.com/repos/lsst/qserv/releases{/id}","created_at":"2014-08-16T07:50:36Z","updated_at":"2015-05-08T02:01:15Z","pushed_at":"2015-10-15T03:32:03Z","git_url":"git://github.com/lsst/qserv.git","ssh_url":"git@github.com:lsst/qserv.git","clone_url":"https://github.com/lsst/qserv.git","svn_url":"https://github.com/lsst/qserv","homepage":"http://dm.lsst.org/","size":21619,"stargazers_count":4,"watchers_count":4,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":5,"forks":4,"open_issues":5,"watchers":4,"default_branch":"master"}},"base":{"label":"lsst:master","ref":"master","sha":"0f63efad00add90832f6d9ce58ede1f2446865ac","user":{"login":"lsst","id":1134504,"avatar_url":"https://avatars.githubusercontent.com/u/1134504?v=3","gravatar_id":"","url":"https://api.github.com/users/lsst","html_url":"https://github.com/lsst","followers_url":"https://api.github.com/users/lsst/followers","following_url":"https://api.github.com/users/lsst/following{/other_user}","gists_url":"https://api.github.com/users/lsst/gists{/gist_id}","starred_url":"https://api.github.com/users/lsst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsst/subscriptions","organizations_url":"https://api.github.com/users/lsst/orgs","repos_url":"https://api.github.com/users/lsst/repos","events_url":"https://api.github.com/users/lsst/events{/privacy}","received_events_url":"https://api.github.com/users/lsst/received_events","type":"Organization","site_admin":false},"repo":{"id":23013460,"name":"qserv","full_name":"lsst/qserv","owner":{"login":"lsst","id":1134504,"avatar_url":"https://avatars.githubusercontent.com/u/1134504?v=3","gravatar_id":"","url":"https://api.github.com/users/lsst","html_url":"https://github.com/lsst","followers_url":"https://api.github.com/users/lsst/followers","following_url":"https://api.github.com/users/lsst/following{/other_user}","gists_url":"https://api.github.com/users/lsst/gists{/gist_id}","starred_url":"https://api.github.com/users/lsst/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lsst/subscriptions","organizations_url":"https://api.github.com/users/lsst/orgs","repos_url":"https://api.github.com/users/lsst/repos","events_url":"https://api.github.com/users/lsst/events{/privacy}","received_events_url":"https://api.github.com/users/lsst/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lsst/qserv","description":"LSST Query Services","fork":false,"url":"https://api.github.com/repos/lsst/qserv","forks_url":"https://api.github.com/repos/lsst/qserv/forks","keys_url":"https://api.github.com/repos/lsst/qserv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lsst/qserv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lsst/qserv/teams","hooks_url":"https://api.github.com/repos/lsst/qserv/hooks","issue_events_url":"https://api.github.com/repos/lsst/qserv/issues/events{/number}","events_url":"https://api.github.com/repos/lsst/qserv/events","assignees_url":"https://api.github.com/repos/lsst/qserv/assignees{/user}","branches_url":"https://api.github.com/repos/lsst/qserv/branches{/branch}","tags_url":"https://api.github.com/repos/lsst/qserv/tags","blobs_url":"https://api.github.com/repos/lsst/qserv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lsst/qserv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lsst/qserv/git/refs{/sha}","trees_url":"https://api.github.com/repos/lsst/qserv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lsst/qserv/statuses/{sha}","languages_url":"https://api.github.com/repos/lsst/qserv/languages","stargazers_url":"https://api.github.com/repos/lsst/qserv/stargazers","contributors_url":"https://api.github.com/repos/lsst/qserv/contributors","subscribers_url":"https://api.github.com/repos/lsst/qserv/subscribers","subscription_url":"https://api.github.com/repos/lsst/qserv/subscription","commits_url":"https://api.github.com/repos/lsst/qserv/commits{/sha}","git_commits_url":"https://api.github.com/repos/lsst/qserv/git/commits{/sha}","comments_url":"https://api.github.com/repos/lsst/qserv/comments{/number}","issue_comment_url":"https://api.github.com/repos/lsst/qserv/issues/comments{/number}","contents_url":"https://api.github.com/repos/lsst/qserv/contents/{+path}","compare_url":"https://api.github.com/repos/lsst/qserv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lsst/qserv/merges","archive_url":"https://api.github.com/repos/lsst/qserv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lsst/qserv/downloads","issues_url":"https://api.github.com/repos/lsst/qserv/issues{/number}","pulls_url":"https://api.github.com/repos/lsst/qserv/pulls{/number}","milestones_url":"https://api.github.com/repos/lsst/qserv/milestones{/number}","notifications_url":"https://api.github.com/repos/lsst/qserv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lsst/qserv/labels{/name}","releases_url":"https://api.github.com/repos/lsst/qserv/releases{/id}","created_at":"2014-08-16T07:50:36Z","updated_at":"2015-05-08T02:01:15Z","pushed_at":"2015-10-15T03:32:03Z","git_url":"git://github.com/lsst/qserv.git","ssh_url":"git@github.com:lsst/qserv.git","clone_url":"https://github.com/lsst/qserv.git","svn_url":"https://github.com/lsst/qserv","homepage":"http://dm.lsst.org/","size":21619,"stargazers_count":4,"watchers_count":4,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":5,"forks":4,"open_issues":5,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lsst/qserv/pulls/143"},"html":{"href":"https://github.com/lsst/qserv/pull/143"},"issue":{"href":"https://api.github.com/repos/lsst/qserv/issues/143"},"comments":{"href":"https://api.github.com/repos/lsst/qserv/issues/143/comments"},"review_comments":{"href":"https://api.github.com/repos/lsst/qserv/pulls/143/comments"},"review_comment":{"href":"https://api.github.com/repos/lsst/qserv/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lsst/qserv/pulls/143/commits"},"statuses":{"href":"https://api.github.com/repos/lsst/qserv/statuses/b9131d893c392beea193dcdbd52ce9345dc01154"}}}}