Revision 506e8448bee9cbd7996222e20033bcdb55a59ea6 authored by Maysam Yabandeh on 26 April 2019, 01:14:10 UTC, committed by Facebook Github Bot on 26 April 2019, 01:17:22 UTC
Summary:
Part of compaction cpu goes to processing snapshot list, the larger the list the bigger the overhead. Although the lifetime of most of the snapshots is much shorter than the lifetime of compactions, the compaction conservatively operates on the list of snapshots that it initially obtained. This patch allows the snapshot list to be updated via a callback if the compaction is taking long. This should let the compaction to continue more efficiently with much smaller snapshot list.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5099

Differential Revision: D15086710

Pulled By: maysamyabandeh

fbshipit-source-id: 7649f56c3b6b2fb334962048150142a3bf9c1a12
1 parent 6eb317b
Raw File
Vagrantfile
# Vagrant file
Vagrant.configure("2") do |config|

  config.vm.provider "virtualbox" do |v|
    v.memory = 4096
    v.cpus = 2
  end

  config.vm.define "ubuntu14" do |box|
    box.vm.box = "ubuntu/trusty64"
  end

  config.vm.define "centos65" do |box|
    box.vm.box = "chef/centos-6.5"
  end

  config.vm.define "centos7" do |box|
    box.vm.box = "centos/7"
    box.vm.provision "shell", path: "build_tools/setup_centos7.sh"
  end

  config.vm.define "FreeBSD10" do |box|
    box.vm.guest = :freebsd
    box.vm.box = "robin/freebsd-10"
    # FreeBSD does not support 'mount_virtualbox_shared_folder', use NFS
    box.vm.synced_folder ".", "/vagrant", :nfs => true, id: "vagrant-root"
    box.vm.network "private_network", ip: "10.0.1.10"

    # build everything after creating VM, skip using --no-provision
    box.vm.provision "shell", inline: <<-SCRIPT
      pkg install -y gmake clang35
      export CXX=/usr/local/bin/clang++35
      cd /vagrant
      gmake clean
      gmake all OPT=-g
    SCRIPT
  end

end
back to top