CDR Tickets

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
Description

This is a placeholder story so that we don't forget about it. This was originally discussed between and in the May 2016 timeframe when the team looked through all the code that can be streamlined.

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.

Comment entered 2017-12-11 10:52:42 by Kline, Bob (NIH/NCI) [C]

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.

Comment entered 2017-12-21 12:40:58 by Kline, Bob (NIH/NCI) [C]

I have attached an Excel workbook to help us keep track of what needs to be tested. 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.

Comment entered 2017-12-21 12:47:43 by Kline, Bob (NIH/NCI) [C]

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.

Attachments
File Name Posted User
gauss-testing.xlsx 2017-12-21 12:36:26 Kline, Bob (NIH/NCI) [C]

Elapsed: 0:00:00.001209