Re: MongoDB: Change block_compressor for existing collection

From: Kevin Adistambha <kevinadi@xxxxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Mon, 18 Apr 2016 00:43:47 -0700 (PDT)
Why ads?


Hi Tobias,

Now I want to change the “block_compressor” option for a single collection 
to use “snappy”.

It is not possible to change the block_compressor option of an existing 
collection.

However, you can create a new collection with the required options and 
replace the old collection:

   1. Create a new collection with the parameters you need, as described in 
   the Specify Storage Engine Options 
   <https://docs.mongodb.org/manual/reference/method/db.createCollection/#specify-storage-engine-options
   page. E.g.: db.createCollection( "coll_snappy", { storageEngine: { 
   wiredTiger: { configString: 'block_compressor=snappy' }}}) 
   2. Copy all data from the existing collection into the new collection. 
   *Note:* Please refrain from adding new data into the old collection 
   during this stage. 
   3. Drop the old collection and rename the new collection using 
   db.collection.renameCollection() 
   <https://docs.mongodb.org/manual/reference/method/db.collection.renameCollection/>, 
   so that the new collection replaces the old collection. 

Since initial sync between non-wiredTiger and wiredTiger members in a 
replica set is performed on a per-document level (and not by copying the 
files), this should be possible…

It is possible to mix different storage engines in a replica set, but it is 
currently not possible (as of MongoDB 3.2) to set different storage engine 
*options* for a collection in a replica set. I.e., if you specify a 
collection to use the snappy compressor, the collection will be using 
snappy across all secondaries as well (since collection creation options 
are replicated to the secondaries).

Best regards,
Kevin


-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.org/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/7e3f4c8b-56cd-4255-a231-e32280b3b049%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?