Hi,
 
Agreed with everything except one place:
 
> diff --git a/test/box/gh-3290-ddl_collation_deleted.test.lua b/test/box/gh-3290-ddl_collation_deleted.test.lua
> new file mode 100644
> index 000000000..f36838e7a
> --- /dev/null
> +++ b/test/box/gh-3290-ddl_collation_deleted.test.lua
> @@ -0,0 +1,10 @@
> +env = require('test_run')
> +test_run = env.new()

unused variables

> +--
> +-- gh-3290: expose ICU into Lua. It uses built-in collations, that
> +-- must work even if a collation is deleted from _collation.
> +--
> +t = box.space._collation:delete{1}
> +utf8.cmp('abc', 'def')
> +box.space._collation:replace(t)

missed cleanup
 
In this place cleanup not needed.
The last line restores the original state or «cleanup»
 
--
sergeyb@
 
 
--
Oleg Piskunov