{"push_id":2621818473,"size":1,"distinct_size":1,"ref":"refs/heads/branch-1.5.x","head":"81325bf5f2572e5d3fb7af0e53db7a1b4ac2c500","before":"33334affa77df2da7c2a3d5e1533a53b3264bf30","commits":[{"sha":"81325bf5f2572e5d3fb7af0e53db7a1b4ac2c500","author":{"name":"Todd Lipcon","email":"2c763d726a8c2f6afda9be7e0e56a2caa6bb5e6b@apache.org"},"message":"Fast path scanning blocks of deleted rows\n\nThis adds some very simple fast-paths in the case that an entire row\nblock consists of rows that were deleted.\n\nThe first is in the block materialization code: if delta application\nresults in all rows being deleted, we don't need to move forward and\nmaterialize any columns.\n\nThe second is before serializing scan responses to the client. In this\ncase we don't need to loop over each column and read the selection\nvector for each column. Instead we can just return immediately.\n\nI tested this on a table where I'd inserted a few billion rows, deleted\nthem all, and then re-inserted them. Before the patch, a simple 'SELECT\n* FROM t LIMIT 10' took 306sec. With the first optimization only, it\ntook about 10 seconds. With the second one as well, it took about 2.2\nseconds.\n\nThere are probably more general optimizations that could be done for\nsparsely-populated RowBlocks (eg where just a few rows are selected) but\nthey are much more complex, and it's relatively common for users to\ndelete large consecutive runs of rows. For example, users may use\n'DELETE' all rows in a table or partition before re-adding them, or they\nmay delete all data corresponding to some prefix of the PK.\n\nChange-Id: I9fa891c0f4e857ddd1f873ad4855154d078be6b8\nReviewed-on: http://gerrit.cloudera.org:8080/10213\nTested-by: Todd Lipcon <todd@apache.org>\nReviewed-by: Will Berkeley <wdberkeley@gmail.com>\nReviewed-on: http://gerrit.cloudera.org:8080/10328\nTested-by: Will Berkeley <wdberkeley@gmail.com>\nReviewed-by: Andrew Wong <awong@cloudera.com>\nReviewed-on: http://gerrit.cloudera.org:8080/10609\nReviewed-by: Todd Lipcon <todd@apache.org>","distinct":true,"url":"https://api.github.com/repos/apache/kudu/commits/81325bf5f2572e5d3fb7af0e53db7a1b4ac2c500"}]}
{"actor":{"display_login":"asfgit"}}