Parallec Change Log
- Pull #46. Enable http response body charset encoding to be a static value of "UTF-8" from
ParallecGlobalConfig.httpResponseBodyDefaultCharset; or dynamically derived from the response header's content type. User may overwrite the static value when overloading the config.
- Issue #56. For loading target hosts from CMS (YiDB), add support for authorization token.
- Fixed the ping status check in linux with process mode.
- Improved unit tests coverage.
- Issue #48.
- Fixed not setting context in some tests. Code refactoring.
- Issue #47. Created the response with proper error msg for the host when the whole parallel task timeouts, added unit tests on this case.
- Fixed not setting context in some tests. Code refactoring.
- Issue #24. Examples are here. Save Response Headers into the ResponseOnSingleTask. Note that the key set provided in esponseHeaderMeta in request can be case insensitive. However in the response headers map returned in the ResponseOnSingleTask, all keys have been lower case for easy access. The key line is as below to enable the save response headers.
- Erased the response headers in the ResponseOnSingleTask if
task.getConfig().isSaveResponseToTask()is false (default).
- Minor refactored multiple places.
- Fixed javadoc.
- Fixed the test cases with HttpWorker constructor.
//save all the keys. .saveResponseHeaders(new ResponseHeaderMeta(null, true)) //save a subset of keys .saveResponseHeaders( new ResponseHeaderMeta(Arrays.asList("Content-Type", "server", "x-github-request-id"), false))
- Issue #41. Added main feature of parallel UDP based on async Netty, with
prepareUdp(String command)API. Use
setUdpIdleTimeoutSec()to set the port and read timeout. Added tests.
- In udp/tcp/udp/http/ping/ssh worker, to check context before kill itself, as sometimes the msg is passed faster to the Op Worker which send msg to kill the worker already.
- Improved test coverage.
- Fix Issue #25, Enabled different ports replacements with different target hosts. Passed tests. Example check here. Key is
- Minor log refinement for ssh sudo user.
- SSH: Allow run as super user for ssh: handle SSH commands where password is needed to sudo. Auto apply the password. Thanks billzwu
- Test: add coverage: for get target hosts duplicate/empty for CMS.
- Test/Build: update CI setting to enable test on process based Ping.
- Build/Maven/Logback: exclude logback.xml in the built jar, thanks to xmpp for raising the issue, close #21.
- Test: add sleep to make sure server starts first; should fix build issue related to #7
- Test: add coverage: updateRequestByAddingReplaceVarPairNodeSpecific() check null, add some other minor coverage
- Test: fix TcpServerThread (tcp sample server) not closed in test, thus skip idle TCP tests.
- Change: maven pom: maven-compiler-plugin version to 1.7.
- Fix: aggregateResultMap change to concurrentHashMap: Issue #11
- Add: Late initialize CapacityAwareTaskScheduler only when it is used. Added shutdown for the scheduler.
- Test: Update some tests on variable replacements.
- Doc: Update javadoc.
- Javadoc: refine javadoc. Fixed errors in javadoc.
- Coverage: add code coverage.
- Maven: setup with maven central deployment. Added codecov and travis CI.
- Change: refactor and removed command director. Renamed command manager to execution manager.
- Change: remove duplicated functions of prepareHttp* in builder and client classes. Refactor internal type of http method.
- Add: ParallelTask add getAggregatedResultHumanStr() to display human readable results.
- Change: enforce safeguard of concurrency limit for SSH as 400.
- Remove: Remove apache http client
- Change: Refactor validation for httpMeta and move the async http client to httpMeta. Refactor Various package structures. Passed test with 93.6 coverage.
- Add: Option to execute response handler in either Manager thread (after aggregation) or operation worker thread (before aggregation; in parallel).
- Change: Refactor poller information into httpMeta for better composition.
- Add: Added Parallel Ping feature. able to due 2 types. added retries and unit tests
- Add Added Parallel TCP feature based on netty. able to handle idle connections. Added the unit testing with sample TCP server.
- Change: added the log interval to give options to trim logs
- Fix: change from single thread executor to pool executor in SSH/Ping worker to significantly reduce the thread size.
- Add: Add scalable PING with InetAddress and process based.
- Fix: replace all tab by spaces for consistency.
- Fix: Fix when response received in operation worker, timeoutFuture is not canceled.
- Change: remove unnecessary response from manager. Remove redundant sent
- Add: Change cancel ont target hosts from single to a list.
- Fix: Fix 3 sonar critical ones.
- Add: several unit tests case for corner cases.
- Add: parallel task api to cancel task on single target.
- Add: status code
- Change: when not save response: will still save metadata about the task.
- Add: map of completeness of each. add function to cancel each worker.
- Add: parallel task submit/execution start/end time and duration in seconds:view in logs.
- Fix: parallel task cancel in command manager now wait for all op workers to come back. Fix issues when the op sender is not set. Cleaned up 3 duplicated data in response.
- Add: response map now properly show canceled single host response status; and the PTask status.
- Add: Add status aggregation
- Add: Add the monitoring on memory/java thread APIs
- Add: Sample 10K, 2K websites to hit tests
- Fix: Fixed the auto save log not working issue
- Fix: Removed the structure of SSH Meta when it is not SSH.
- Enhance: Refined the logic to get error message summary.
- Add: Add Aggregation on return status code with list and count.
- Understand: socket connection exception. Change to google DNS will resolve the issue.
- Add: Add log ability and pretty print log
- Add: Now config can be changed on each task, rather than the global level.
- Add: Option to save the log, save the response into results, enable scheduler.
- Fix: change the visibility of the config/parallel task.
- Fix: reduced solar critical from 9 to 2.
- Fix: change HTTP Store to be singleton from static functions
- Test: Test passed JDK 1.7 and JDK 1.8.0_60