Skip to content

TWCable/grabbit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Sagar Sane
Aug 26, 2018
48a5d8f · Aug 26, 2018
Oct 22, 2017
Feb 22, 2016
May 22, 2017
Aug 26, 2018
May 22, 2017
Aug 20, 2018
Aug 5, 2015
Mar 10, 2015
Aug 5, 2015
Jul 30, 2017
Mar 10, 2015
Mar 10, 2015
Jan 20, 2017
Aug 13, 2016
Aug 14, 2016
Aug 26, 2018
Jul 14, 2015
Jul 14, 2015
Jun 18, 2018
Oct 3, 2016
Oct 3, 2016
Jul 19, 2016

Repository files navigation

Grabbit

grabbit grabbit

download

Project Purpose

The purpose of Grabbit is to provide a fast and reliable way of copying content from one Sling (specifically Adobe CQ/AEM) instance to another.

Existing solutions have been tried and found insufficient for very large data sets (GB-TB), especially over a network. CQ’s .zip packages are extremely space inefficient, causing a lot of extra I/O. vlt rcp and Mark Adamcin’s recap use essentially the same mechanism: WebDAV using XML, doing an HTTP handshake for every node and many sets of properties, which means that any latency whatsoever on the network hurts performance enormously.

Grabbit creates a stream of data using Google’s Protocol Buffers aka "ProtoBuf". Protocol Buffers are an extremely efficient (in terms of CPU, memory and wire size) binary protocol that includes compression.

Moreover, by doing a continuous stream, we avoid the latency issues. Depending on the size and nature of the data, as well as network latency, we have so far seen speed improvements ranging from 2 to 10 times that of Recap/vlt.

Note
"Grabbit" obviously refers to this "grabbing" content from one CQ/AEM instance and copying it to another. However it also refers to "Jackrabbit," the reference JCR implementation that the content is being copied to and from.

download