# File lib/mongo/client.rb, line 350
    def cluster_options
      # We share clusters when a new client with different CRUD_OPTIONS
      # is requested; therefore, cluster should not be getting any of these
      # options upon instantiation
      options.reject do |key, value|
        CRUD_OPTIONS.include?(key.to_sym)
      end.merge(
        server_selection_semaphore: @server_selection_semaphore,
        # but need to put the database back in for auth...
        database: options[:database],
      )
    end