You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 4, 2022. It is now read-only.
feat(compression): implement wire protocol compression support
NODE-1016, NODE-1027
* core work for getting compression message to travel
* Inital compression message test with mock server
* Renaming test
* typo in runner.js
* only emit fullsetup event once
* Extending tests
* Can decompress snappy messages
* Adding zlib support
* Reducing console logging verbosity
* Debugging mock
* Fixing mock to be able to send OP_COMPRESSED
* Added mock tests for various OP_COMPRESSED reception cases
* Edit no compression test to include doc insertion
* Compression tests attempt inserting
* Commenting out unneeded test
* Added test to check for invalid compressor args
* Allowing sending of outbound OP_COMPRESSED
* Don't compress uncompressible messages
* Removing changes to server_tests.js
* Refactoring
* Increasing test verbosity
* (WIP) receiving compressed messages in the mock
* (WIP) convering compressed mock msgs to original messages
* Mock server can receive compressed messages
* CRUD tests for mock server w/ compression
* Mock test bug fixes
* Added tests to mock to compress commands
* Testing that uncompressible commands aren't compressed
* Note in responses whether the message was originally compressed
* Starting integration testing
* Adding Wire Protocol Version detection to tests
* Renaming test
* Some auth tests in server_tests
* Removed erroneous test statements
* refactor(test-runner): don't check mongodb version if skip specified
* Use actual server type in standalone SDAM events:
Currently the server type inside the topologyDescriptionChanged event
for a single topology is 'Standalone', which is unexpected. According to
the SDAM specification a TopologyDescription has a list of
ServerDescriptions, which had a type field indicating the type of server
it is and does not state that the server type never changes if the
topology is single.
My expectation is that a single connection to a replica set primary, for
example, would give me a topology type of 'Single' and a server type of
'RSPrimary', not 'Standalone' like it currently does.
The serverDescriptionChanged event properly has the type set.
* test(sdam): add test for emitting correct SDAM server type
* Allow running tests with a particular version of mongod using the -v flag
* Tidying comments
* Create facility to spawn new mongod with options
* Create compression test
* Tidying snappy compression test implementation
* Removing unneeded import
* Tidying tests
* Switch to using deflate/inflate instead of zip/unzip
* Implementing async compression of outbound OP_COMPRESSED
* Changing clashing port number
* Using strict mode
* Switching to use forEach
* Tidying requires()
* Removing version flag
Use environment variable instead
* Tidying up
* Fixing typo
* [NODE-1021] [NODE-1023] OP_COMPRESSED reception support and mock testing
* core work for getting compression message to travel
* Inital compression message test with mock server
* Renaming test
* typo in runner.js
* Extending tests
* Can decompress snappy messages
* Adding zlib support
* Reducing console logging verbosity
* Debugging mock
* Fixing mock to be able to send OP_COMPRESSED
* Added mock tests for various OP_COMPRESSED reception cases
* Edit no compression test to include doc insertion
* Compression tests attempt inserting
* Commenting out unneeded test
* Added test to check for invalid compressor args
* Add snappy to package.json
* Removing use of "in" and debugging statements
* Changing magic number for a constant
* Remove extraneous console log
* Fixing typo
* Refactoring and bailing early
* Fixing typo
* chore(travis): only run CI for node LTS versions 4 & 6
* chore(travis): use containerized trusty builds
* Changing OP_COMMAND to OP_COMPRESSED
* Small refactor for reading a header
* (WIP) refactoring decompression to be async
* WIP Async decompression
* Tweaking test to use config port
* WIP Making decompression async
* Validate compressorId
* Async decompression now working
* Updating tests (copying in from NODE-1027)
* Adding strict mode
So we can use "let", etc… on older versions of Node
* Moving snappy to devDependencies
* Simplifying code
* Reducing reliance on constants
* Fixing mis-named variable
* Removing unneeded and unused function
* Defining OP_COMMAND constant once
* Improving code readability
* Making snappy optional
* Require_Optional Snappy
* Making decompression code clearer
* Making error message more informative
* Removing debug message
* Reordering function arguments so that "self" is first
* Removing incorrect environment
This environment has not yet been created in this branch
* Using constants to decide compression mechanism
* Removing unused code
* Using !== instead of !=
* Using pre-release require_master
* Tidying up
* Tidying use of constants
* Standardising use of compressorID and simplifying deciding which ID to use
* Tidying up
* Removing unneeded requires
* Updating Travis Node version, require_optional version, and creating package_lock
* Tidying Response creation
* Removing MongoDB 2.4.x from Travis
* Moving OPCODE numbers to wireprotocol/shared.js
* core work for getting compression message to travel
* Inital compression message test with mock server
* Extending tests
* Can decompress snappy messages
* Adding zlib support
* Reducing console logging verbosity
* Debugging mock
* Fixing mock to be able to send OP_COMPRESSED
* Added mock tests for various OP_COMPRESSED reception cases
* Compression tests attempt inserting
* Commenting out unneeded test
* Allowing sending of outbound OP_COMPRESSED
* Don't compress uncompressible messages
* Removing changes to server_tests.js
* Refactoring
* (WIP) receiving compressed messages in the mock
* (WIP) convering compressed mock msgs to original messages
* Mock server can receive compressed messages
* CRUD tests for mock server w/ compression
* Mock test bug fixes
* Added tests to mock to compress commands
* Starting integration testing
* Adding Wire Protocol Version detection to tests
* Renaming test
* Some auth tests in server_tests
* Removed erroneous test statements
* Allow running tests with a particular version of mongod using the -v flag
* Tidying comments
* Create facility to spawn new mongod with options
* Create compression test
* Tidying snappy compression test implementation
* Tidying tests
* Switch to using deflate/inflate instead of zip/unzip
* Implementing async compression of outbound OP_COMPRESSED
* Switching to use forEach
* Removing version flag
Use environment variable instead
* Tidying up
* Post-rebase tidying
* Tidying code
* Melding branches together
* Fixing comment
* Adding test topologies
* Improving how zlib compression level is set
There is no need to tell zlib to use the default compression level.
* Fixing compatibility with Node v4
Node v4 seems to have difficulty supporting Buffer.fill(someBuffer).
* Moving parseHeader
* Moving compressorIDs
* Moving uncompressibleCommands
* Moving compress and decompress
* Moving operation construction out of promise
* Removing use of promises in command serialization
* Fixing typo
* Refactoring hasUncompressibleCommands
0 commit comments