Issue Number | 4211 |
---|---|
Summary | Eliminate C++ for the CDR Server |
Created | 2017-01-05 13:55:55 |
Issue Type | Improvement |
Submitted By | henryec |
Assigned To | Kline, Bob (NIH/NCI) [C] |
Status | Closed |
Resolved | 2018-01-05 14:21:42 |
Resolution | Fixed |
Path | /home/bkline/backups/jira/ocecdr/issue.201042 |
This is a placeholder story so that we don't forget about it. This was originally discussed between ~bkline and ~bryanp in the May 2016 timeframe when the team looked through all the code that can be streamlined.
~bkline noted that the only potential showstopper that came to mind was cPython's GIL (global interpreter lock), but because the only place where we spend any significant CPU time in the existing server is parsing/filtering documents, and the Python tools for doing that are so fast, he doesn't think we would run into any noticeable bottlenecks. Of course, we'd want to test that theory.
The software lives in a new package, called cdrapi
. The
GitHub
page for cdrapi
has an overview description of the
package and its seven modules (I've also got a Collaborate
page started). The tunneling code to expose the API through IIS is
also in GitHub.
There is also a test
suite for regression testing each of the 74 commands in the new API.
The modifications of the legacy client wrapper needed to talk to the new
API where it used to connect to port 2019 are implemented and checked
in. I still have to make the change to the DLL and the client loader
to talk to the new API.
I have attached an Excel workbook to help us keep track of what needs to be tested. ~bryanp is looking into the possibility of using a Google Sheet document so we can all be editing it simultaneously. If that doesn't pan out, we'll need to come up with a way to coordinate updates to the lists. I've tried to eliminate duplicate functionality when the same command/report/etc. was available from different paths, but there's more to do along those lines – I wanted to get a draft posted before this afternoon's status meeting. As always, my hope is that you will be able to identify obsolete menu items, toolbar buttons, reports, etc., than we can eliminate altogether instead of wasting time testing them.
I believe I had worked out the changes to the loader in such a way that transitioning between tiers which have been upgraded to Gauss and those which don't yet know about Gauss will be smooth. So you should be able to connect to QA without getting stuck now. This doesn't mean that QA is ready for user testing, as Volker and I still have a bit of work to do before we get to that point. The new loader (on QA) now has a server settings dialog box which captures settings for all four tiers, so you don't have to edit the host names when switching between QA and STAGE. Also, the fields for ports have been dropped, since we have been blocked by CBIIT from using custom ports for connections to the CDR servers.
File Name | Posted | User |
---|---|---|
gauss-testing.xlsx | 2017-12-21 12:36:26 | Kline, Bob (NIH/NCI) [C] |
Elapsed: 0:00:00.001209