Parent Directory
|
Revision Log
| Links to HEAD: | (view) (download) (as text) (annotate) |
| Sticky Revision: |
Got rid of duplicate SetEventHandler methods. JIRA CXX-9813
Renamed file, removed comments about workaround. JIRA CXX-7579
CNetScheduleAdmin::GetWorkerNodes() now uses Dima's implementation after improving it to be backward-compatible. JIRA CXX-7579
Merged two precise (except some name prefixes) copy-pastes (introduced in r485656 due to safety concerns). JIRA CXX-7579
Introduced new RequestJobWatching() overload that can return progress messages, too; Switched code to use the new overload and deprecated the old one. JIRA CXX-9734
Renamed one method to avoid ambiguity; Fixed issue: the method now returns true only if server actually returns status as completed. JIRA CXX-9734
Improved code for NetSchedule output parsing; Fixed issue: no output params are now modified in case of unrelated job notifications. JIRA CXX-9734
Fixed buffer over-read; Got rid of copy-paste. JIRA CXX-9739
Moved g_AppendClientIPSessionIDHitID; Actual VERSION request now reports PHID, SID and client IP. JIRA CXX-9661
Removed direct output support. JIRA CXX-9192
Moved generic code into new class to ease testing and profiling. JIRA CXX-9192
Made connect timeout configurable. JIRA CXX-9192
Fixed MS VS warnings. JIRA CXX-9192
Implemented direct output reading. JIRA CXX-9192
Prepared cgi2rcgi for direct output reading. JIRA CXX-9192
Client session is not used as session ID anymore; Removed copy-paste. JIRA CXX-9308
Simplified g_AppendClientIPAndSessionID/g_AppendClientIPSessionIDHitID. JIRA CXX-7683
Moved CNetScheduleAdmin into internal header. JIRA CXX-7683
Hid one internal method. JIRA CXX-7683
Narrowed public API: hid one method and one header. JIRA CXX-7683
Now grid_cli allows to use empty client node and session. JIRA CXX-7546
Converted methods into functions; Made few changes to fix compilation. JIRA CXX-7577
Moved internal methods to API extending class. JIRA CXX-7546
Moved API extending code in one class (removed code duplication). JIRA CXX-7546
Now every NetSchedule API client reports their node and session to servers. JIRA CXX-7546
Moved NetSchedule API internal declarations into a separate header. JIRA CXX-5996
Now grid_cli does not try to load NetSchedule API config from servers. JIRA CXX-7359
Added a convenience method for most common uses of CNetScheduleNotificationHandler. JIRA CXX-5996
Removed unnecessary public function. JIRA CXX-5996
Now it is possible to construct WN compatible CNetScheduleAPI instance (used by some GRID command-line utilities). JIRA CXX-7357
Now CGridClient prolongs input blob on Submit and uses job's actual ttl in SubmitAndWait. JIRA CXX-6214
Deprecated unreliable SetJobGroup/SetAffinity methods and removed their usage in grid_cli; Introduced eRNJ_NotReady, which is more generic replacement for eRNJ_Timeout. JIRA CXX-6044
Made default value more appropriate. JIRA CXX-4961
Made WaitForJobEvent() easier to use. JIRA CXX-4961
Added a comment about the requirement for WaitForJobCompletion(). JIRA CXX-4961
Made timeout parameter const; Removed never-executed code. JIRA CXX-4980
Removed internal tag. JIRA CXX-5892
Restored CNetScheduleExecutor::GetJobStatus that accepts a job key (temporary, deprecated). JIRA: CXX-1386, CXX-5501
Minor code deduplication in Grid APIs. JIRA: CXX-5501
Grid worker nodes: keep the association between the job and the server that issued it. JIRA: CXX-1386, CXX-5501
NetSchedule worker nodes: it is now possible to restrict job processing to one specific job group. JIRA: CXX-5333
NetScheduleAPI and Python module: new method to set client type explicity. JIRA: CXX-4951
NetSchedule API, remote_app, remote_cgi: ncbi_phid (page hit ID) pass-through. JIRA: CXX-5315
JIRA CXX-5163: It's now possible to cancel jobs in particular states only
CWorkerNodeJobContext::CommitJobWithFailure(), CNetScheduleExecutor::PutFailure(): new parameter "no_retries"; remote_app, remote_cgi: new parameter "fail_no_retries_if_exit_code". JIRA: CXX-5272
Restored CNetScheduleExecutor::ClearNode(). JIRA: CXX-1168
Moved CNetScheduleExecutor::ClearNode() to the implementation part; fixed a complilation error. JIRA: CXX-1168
Improvements in NetSchedule READ command handling (separate notification thread and more). JIRA: CXX-4961, CXX-4980
Removed the CNetScheduleAdmin::AffinitySnapshot() method and the '--jobs-by-affinities' option of the 'grid_cli stats' command. JIRA: CXX-5216
New NetSchedule API CNetScheduleJobReader to retrieve completed jobs out of order. JIRA: CXX-4961
NetSchedule API: implemented job rescheduling. JIRA: CXX-5032, CXX-5043
NetSchedule, NetCache APIs: expect more than one warning from the server; support for NetSchedule warning types. JIRA: CXX-4941, CXX-4950
Implementation of suspend/resume functionality for worker nodes. JIRA: CXX-4721
NetCache API: try the QINF2 NetSchedule command prior to using GETP2 to retrieve NetCache parameters from NetSchedule. JIRA: CXX-4113, CXX-4575
New NetCache API feature: retrieve configuration from NetSchedule if the [netcache_api] section is missing from the registry. JIRA: CXX-4113
Implemented the HEALTH command in CNetScheduleAdmin and grid_cli. JIRA: CXX-2131
NetSchedule API: allow longer error and progress messages as supported by NetSchedule. JIRA: CXX-4356
Reverted revision 411958 (removed job mask bit "eUseCompoundID" from CNetScheduleAPI). JIRA: CXX-4319, CXX-4320
CNetScheduleAPI: new job mask bit "eUseCompoundID". JIRA: CXX-4319, CXX-4320
Initial implementation of the CCompoundID class for generation of scrambled IDs. JIRA: SYS-144920, CXX-1034, CXX-4320, CXX-4319, TRY-1781
Rename CAbsTimeout to CDeadline to avoid confusion. JIRA:CXX-944
Grid worker nodes: send preferred affinities to the newly discovered NetSchedule servers. JIRA: CXX-3956
Grid APIs: initial version of the NetCache Python module (provides "server_info()", "get_servers()", "exec()" for both NetCacheService and NetCacheServer, as well as a couple of utility methods). JIRA: CXX-3879
Grid APIs: replaced NetSchedule commands QINF, GETC, and GETP with QINF2. JIRA: CXX-3447
CNetScheduleExecutor: added two helper methods AddPreferredAffinities() and DeletePreferredAffinities().JIRA: CXX-3675
NetSchedule API: do not send the timeout parameter in GET2 if the timeout is zero. JIRA: CXX-3622
NetSchedule API: got SST2 back in service; restored backward compatibility of CNetScheduleSubmitter::GetJobStatus() and CNetScheduleExecutor::GetJobStatus() so that they return eJobNotFound instead of throwing an exception; improved documentation on those methods.JIRA: CXX-2381, CXX-3594
Grid APIs: use a shorter timeout when accessing the first server for job submission or blob creation (or any operation when accessing the primary server in a NetCache mirror pool). JIRA: CXX-3546
Implemented parsing of structured NetSchedule output. JIRA: CXX-3476
Implemented timeline-based NetSchedule querying in worker nodes. JIRA: CXX-3274
First implementation of the get_queues() method of the Grid Python module. JIRA: CXX-3447, CXX-2850
Updated Grid APIs to send their own session ID from the main thread as well. JIRA: CXX-3448
Grid APIs: extend the lifetime of the NC blob that contains job input/output each time the job lifetime can be prolonged. JIRA: CXX-2381
Introduced a new grid worker node parameter "max_wait_for_servers", which determines how long the worker nodes should wait for their NS servers to appear before quitting. JIRA: CXX-3288
NetSchedule API: added client ID/session IP to each NetSchedule command. JIRA: CXX-3448
Implemented CNetScheduleNotificationHandler::WaitForJobEvent() and the 'watchjob' command of grid_cli. JIRA: CXX-3452
Renamed NetSchedule QCRE parameter 'comment' to 'description'. JIRA: CXX-3447
NetSchedule API: new job status 'Deleted'. JIRA: CXX-3412
Grid APIs: allow for reading plain text progress messages as opposed to always reading them through NetCache. JIRA: CXX-3337
Reverted revision 363295: do ask for preferred affinites if new exclusive affinities are requested. JIRA: CXX-2891
NetSchedule executor API: do not pick up affinities by default and do not ask for preferred affinites if the executor has not yet accumulated any. JIRA: CXX-2891
NetSchedule API: more information about the client is passed to the server, including the crucial parameters 'client_host' and 'control_port'. JIRA: CXX-3184
Removed NetSchedule ACNT command from NetSchedule API and command line utilities. JIRA: CXX-3270
grid_cli: new command 'drain' to enable NetSchedule server drain mode. JIRA: CXX-3247
grid_cli: introduced the category of administrative commands, included 'getconf', 'reinitnc', 'reconf', 'health', and 'shutdown' commands into it. JIRA: CXX-3247
Implemented automatic affinity picking by worker nodes. JIRA: CXX-3001
New CNetScheduleAdmin shutdown level "eDrain"; new grid_cli shutdown option "--drain". JIRA: CXX-3246
Grid worker nodes: implemented parsing of the new GET2 output format; new EJobAffinityPreference 'eClaimNewPreferredAffs' (and new grid_cli requestjob option '--claim-new-affinities'). JIRA: CXX-3217, CXX-3206
Grid APIs and command line utilities: allowed LBMS service to be specified in all admin commands; fixed a couple of bugs along the way. JIRA: CXX-3219
Implemented new NetSchedule commands GET2/PUT2/FPUT2/RETURN2/CWGET in the client API; used GET2 notification to query only the server that sent it. JIRA: CXX-2669, CXX-2858, CXX-2891
Grid worker nodes: stop using NetSchedule JXCG command. JIRA: CXX-2886
Grid worker nodes: restored compatibility with NetSchedule servers prior to 4.10.0 (made worker nodes use a single UDP port for WGET); merged classes CGridJobSubmitter and CGridJobStatus into CGridClient along the way. JIRA: CXX-3158
NetSchedule API notifications: used CAbsTimeout to track timeouts; introduced reverse service iterators to make it possible to rollback requests sent to servers; used this feature to send CWGET if one of the servers returned a job. JIRA: CXX-2879, CXX-2858, CXX-2681
NetSchedule API += backward compatible typedef CNetScheduleExecuter.
Renamed NetSchedule Executer classes and members to NetSchedule Executor to fix the spelling.
Grid APIs: implemented a universal function to verify job group, affinity, client node, and client session alphabets. JIRA: CXX-3065, CXX-2990
Renamed Python module ncbi.grid.srv to ncbi.grid.ns; implemented NetScheduleService.get_jobs_by_status(). JIRA: CXX-2813
Implemented job group option in NetSchedule API, the grid Python module, and grid_cli for STAT JOBS and STAT GROUPS. JIRA: CXX-3065
Implemented job group option in NetSchedule API and grid_cli for SUBMIT and BSUB. JIRA: CXX-3065
Implemented job group option in NetSchedule API and grid_cli for CANCEL and DUMP; repurposed DUMP to print jobs by status; removed QPRT therefore. JIRA: CXX-3065, CXX-3033
Implemented warning passing in NetSchedule API. JIRA: CXX-2997
Implemented the new format of the NetSchedule READ family of commands. JIRA: CXX-2694, CXX-3065
Made global functions SubmitJobWithNotification, CheckSubmitJobNotification, RequestJobWithNotification, and CheckRequestJobNotification methods of CNetScheduleNotificationHandler. JIRA: CXX-2681, CXX-2743, CXX-2836, CXX-2922, CXX-2923
Improved server notification handling in the NetSchedule API: got rid of inheritance and virtual methods. JIRA: CXX-2681, CXX-2743, CXX-2836, CXX-2922, CXX-2923
Implemented a newer format of job status changes notifications in NetSchedule API; dropped the UDP port from CNetScheduleExecuter::WaitJob() and CNetScheduleSubmitter::SubmitJobAndWait(); implemented --wait-timeout for grid_cli submitjob and --dump-ns-notifications for grid_cli submitjob and reqestjob. JIRA: CXX-2681, CXX-2743, CXX-2836, CXX-2922, CXX-2923
Implemented a debug grid_cli key to test NetSchedule WGET notifications. JIRA: CXX-2922
Extracted the ActualService functionality from NetService as 'NetService'; renamed what's left to NetServerPool; used this new disposition to implement NetScheduleServer.change_preferred_affinities(). JIRA: CXX-2975
Dropped the support of DROPQ from NetScheduleAPI. JIRA: CXX-2591
Introduced C++ API method CNetScheduleExecuter::ChangePreferredAffinities() and Python API method NetScheduleServer.change_preferred_affinities(). JIRA: CXX-2975
Adjusted CNetScheduleAdmin::AffinitySnapshot() to the new format of AFLS output. JIRA: CXX-2953
Implemented parameters "start_after" and "count" of the NetSchedule DUMP command. JIRA: CXX-2943
Introduced the GETCONF command in NetScheduleAPI and grid_cli. JIRA: CXX-2820
Removed support for tags from NetSchedule API, grid_cli, and netschedule_control. JIRA: CXX-2587
Merged revision 342393 from grid 1.4.2 to trunk (Removed invocations of NetSchedule commands QERY and QSEL from NetSchedule API and command line utilities. JIRA: CXX-2708).
Merged revision 341305 from grid 1.4.2 to trunk (Introduced new NetSchedule API parameters: client_node and client_session; added a pair of corresponding grid_cli parameters (guarded by the --extended-cli option); got rid of the INIT command; removed the guid parameter of CLRN; localized worker node control port usage to WaitJob(). JIRA: CXX-2682, CXX-2585).
Merged revision 329739 from grid 1.4.2 to trunk (Implemented the new NetSchedule command CANCELQ as CNetScheduleAdmin::CancelAllJobs() and used it in grid_cli canceljob --all-jobs. JIRA: CXX-2574).
Merged revision 331413 from grid 1.4.2 to trunk (removed unused enum CNetScheduleAdmin::ECreateQueueFlags).
Removed the DROJ NetSchedule command from the NetSchedule API and client programs that used it. JIRA: CXX-2569
Merged the connect/services part of the revision 327970 from grid 1.4.2 to trunk (removed ForceReschedule() from CNetScheduleAdmin). JIRA: CXX-2518
Merged revision 327776 from grid 1.4.2 to trunk (removed NetSchedule job states eReturned, eTimeout, eReadTimeout, because they are not states, but rather only events in job history. JIRA: CXX-2549
Removed obsolete commands REGC and URGC from worker node APIs. JIRA: CXX-2430
grid_cli commitjob --get-next-job --affinity: silence the NetSchedule error when no jobs with the requested affinity have been found. JIRA: CXX-2419
Added the --wait-timeout option to grid_cli requestjob. JIRA: CXX-2418
Added the '--affinity' option to 'grid_cli requestjob'. JIRA: CXX-2419
Grid WN APIs: new guid parameter in CNetScheduleAPI::GetExecuter(); new method CNetScheduleExecuter::GetGUID(). JIRA: CXX-2227
Added new CNetScheduleAdmin methods AffinitySnapshot() and PrintQueueInfo() to cover NetSchedule commands AFLS and QINF, JIRA: CXX-2227.
Removed methods CNetScheduleAdmin::Monitor() and CNetScheduleAdmin::Logging() because the respective commands MONI and LOG were removed from NetSchedule.
New method CNetScheduleAdmin::DumpJob() that returns a CNetServerMultilineCmdOutput object. JIRA: CXX-2227
NetSchedule API: new EStatisticsOptions enumeration constant (eStatisticsWorkers) to send the STAT WNODE command; new GetServerVersion() method, which unlike PrintServerVersion(), returns the version of a server and is not applicable to a service. JIRA: CXX-2227
Removed unusded enum CNetScheduleAPI::EConnectionMode.
Added UseOldStyleAuth() method to CNetScheduleAPI for compatibility with older NetSchedule servers. JIRA: CXX-2227
Removed obsolete NetSchedule API methods SetRunTimeout() and SetJobRunTimeout().
Removed long-time deprecated methods CGridClient(..., bool unused), CNetCacheAPI::SetConnMode(), and CNetScheduleAPI::SetConnMode().
Removed a deprecated method CNetScheduleAdmin::CreateQueue(), the one with the flags parameter.
In connect/services: replaced CNetObject with CObject. JIRA: CXX-1979
Multiple changes to avoid using the blobstorage_netcache 'plug-in' library and to create CNetScheduleAPI directly, not via the factory class.
Rewrote NetCache blob caching code to fix JIRA CXX-1289.
Changed the 'control thread' of Grid worker nodes to support permanent connections; enabled compatibility mode in netschedule_control to make it work with older worker nodes that close the 'control' connection after executing each command. JIRA: CXX-1676
Improved communication with NetCache. JIRA: CXX-775, CXX-1289
Implemented the -getconf command of netschedule_control. JIRA: CXX-1492
CNetCacheAPI/CNetScheduleAPI/CNetICacheClient constructors now search the application registry for the missing connection parameters. JIRA: CXX-1068
Updated comments for the {CNetCacheAPI,CNetScheduleAPI}::SetConnMode() methods.
Added CNetCacheAPI constructors for initialization from the app registry or CConfig. JIRA: CXX-1068
In connect/services: added two more reconnection parameters and renamed the existing ones according to JIRA CXX-1068
In connect/services: reworked reconnection code; introduced several parameters to control how reconnection is done. JIRA: CXX-1068
Split the CNetScheduleAdmin::CreateQueue() method into two: with and without the flags argument, which controlled whether to throw an exception on an attempt to create a queue that already existed; declared the method with the flags argument as deprecated, because voiding the exception was a mistake. JIRA: CXX-1182.
CNetScheduleAdmin::CreateQueue(): changed default behavior from eIgnoreDuplicateName to eErrorOnDublicateName.
Grid worker nodes: UDP port/TCP control port merge, part 1.
In connect/services: implemented sending of the INIT command for worker nodes (JIRA: CXX-809).
In connect/services: removed the std:: prefix from all STL class references as it disagrees with the C++ Toolkit coding standard.
In CNetScheduleSubmitter: renamed ReadRollback() to ReadFail(), implemented ReadRollback() without the error_message parameter (JIRA: CXX-807, CXX-869).
In connect/services: renamed the confusing typedef TPtr in the declarations of the CNetObject-derived classes to TInstance; updated Doxygen comments for some of the public classes.
GRID: Implemented ClientIP and SessionID tracking: * If available, client IP and session ID are now sent in the SUBMIT and BSUB NetSchedule commands; * The client IP/session ID fields are extracted from the results of the GET, WGET, and JXCG NetSchedule commands; * During request processing, application states are set properly, and request start/stop events are logged; * In remote_app, the NCBI_LOG_CLIENT_IP and NCBI_LOG_SESSION_ID environment variables are set correctly before the child process is run. Besides, minor code clean-up was performed (esp. in LOG_XXX calls). JIRA: CXX-808, CXX-296
Implemented CNetScheduleAdmin::CountActiveJobs() and made it available via the netschedule_control command line utility in the form of the new -count_active command (JIRA: CXX-346).
Added the lbsm_affinity_name parameter to constructors of CNetCacheAPI and CNetScheduleAPI (JIRA: CXX-783).
GRID: implemented batch retrieval of job results (JIRA: CXX-807, CXX-869).
In connect/services: performed post-refactoring clean-up: make use of smart pointers; replace class CNetScheduleKeys_Base and template class CNetScheduleKeys with regular class CNetScheduleKeys; return *Impl objects from NS/NC plug-in creation methods; corrected a few typos (JIRA: CXX-837).
Merged changes from 'branches/cppcore/grid/client_refactoring' (Revisions 144767:146002) into 'trunk/c++'. * Converted public Grid API classes to "components" featuring reference counting. Component implementations were moved to the respective *Impl structures in the implementation part of the library (src/). These structures are accessible via the "->" operator. * Moved several public methods to the implementation part. * Removed the CNetServiceAPI_Base class, moved most of its methods to SNetServiceImpl. * Changed the default connection managing mode to eKeepConnection. * Got rid of all *Sink classes. * Used CNetObjectRef for storing pointers to interfaces; used interface INetServerConnectionListener for handling server errors instead of overriding CNetServiceAPI_Base::ProcessServerError(). * Removed unused/duplicate methods in CNetService/CNetServiceAPI_Base. * Performed generic code clean-up and refactoring.
Stubs for new commands added JIRA: CXX-543
Merged changes from 'branches/netschedule_states' (Revisions 127974:129152) into 'trunk/c++'. CXX-5 server side implemented
In ns_submit_remote_job and ns_remote_job_control, enabled progress message to be sent and displayed.
Corrected a typo in method name 'CNetScheduleAPI::x_GetConnection()'.
In connect/services (CXX-115): * Eliminated "predicate" SNSJobGetter; * Merged methods CNetServiceAPI_Base::Find() and SNSJobGetter::operator() in a new method CNetScheduleExecuter::GetJobImpl(); * Implemented new method CNetServiceAPI_Base::GetDiscoveredServers() and used it from CNetScheduleExecuter::GetJobImpl(); * "Inlined" methods CNetScheduleExecuter::GetJobWaitNotify() and CNetScheduleExecuter::WaitQueueNotification(); * Changed access type of methods CNetServiceAPI_Base::FindOrCreateConnectionPool() and CNetServiceAPI_Base::Rebalance() from 'private' to 'public'.
Fixed implementation of CNetScheduleSubmitter::SubmitJobAndWait(), which did not send the udp_port parameter to the server (CXX-262).
Merged changes from 'branches/cppcore/grid/client_refactoring' (Revisions 118124:120445) into 'trunk/c++'.
* Divided CNetServerConnection::Disconnect(bool abort = false) into
CNetServerConnection::Close() and CNetServerConnection::Abort().
* Merged classes CNetServerConnection and CNetServerConnectionHolder
in CNetServerConnection having smart pointer semantics -- moved
implementation details and data members to the SNetServerConnectionImpl
structure declared in srv_connections.cpp.
* Changed parameter type of INetServerConnectionListener::OnDisconnected
from CNetServerConnection& to CNetServerConnectionPool*
* Dropped class CNetServerConnectionFactory; implemented
CNetServerConnectionPool without using the CResourcePool class (because
of the conversion of CNetServerConnection to a "smart pointer" type).
* Merged class CNetServiceConnector into INetServiceAPI and renamed
the latter to CNetServiceAPI_Base.
* Renamed classes CNetServerConnector and CNetServerConnectorHolder
to CNetServerConnection and CNetServerConnectionHolder respectively.
* Moved configuration parameter declarations/definitions to
netservice_params.{h,c}pp (new files).
* Moved classes IRebalanceStrategy and CSimpleRebalanceStrategy
and methods DiscoverLBServices, CreateSimpleRebalanceStrategy, and
CreateDefaultRebalanceStrategy to srv_discovery.{h,c}pp (new files).
* Removed the "const" modifiers from methods that actually change the
state or data of objects they are applied to.
* Declared methods of interfaces as pure virtual.
* Fixed several minor warnings reported by the Microsoft C++ compiler.
* Performed many minor renamings and code formatting.
* Removed all trailing whitespace.
Added reschedule command to NetSchedule api Ticket: CXX-77
Got rid of unnecessary locks in Grid framework for NetSchedule client Ticket: CXX-48 Corrected spelling in NetSchedule shutdown enum value Code clean up
Fixed Count and RetrieveIDs methods for CNetScheduleAdmin class Ticket: CXX-46
Added thread safety to NetCache and NetSchedule client apis Ticket: CXX-33
Added queue creation flags
Merged changes up to r109049 from 'branches/new_netcache_api' into 'trunk/c++'.
Moved CNetServiceException, CNetScheduleException, CNetScheduleKey to separate files Added CNetScheduleKeys class and support for retrieving jobs ids by a query (CNetScheduleAdmin::RetrieveKeys method)
Added interface for QUERY and SELECT NetSchedule commands. BugzID: 856
Added reading Server Parameters Added fast status check Removed use_permanent_connection parameter. (Permanent connections are used all the time)
Fixed svn properties in trunk/c++.
Config reload implemented. Timeout code cleaned up. SetRunTimeout obsoleted.
Changed ISink interface
Fixed dump, status, and qprint command
Moved netschedule_control to the new NetSchedule API
Added export specifiers
Added count command from netschedule control
Query by status and tag wildcard implemented. Switched to newer client API internally.
Tags support added.
Added missing EXPORT declaraion
Fixed bug with permanent connection, added support for NS tags
Moved CNetScheduleExceptions to the new NetSchedule API
Added new API for NetSchedule service
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| NCBI Systems Team">NCBI Systems Team | ViewVC Help |
| Powered by ViewVC 1.1.20 |