On 03/26/2015 11:37 PM, Ilia Ivanicki wrote:
> *Abstract:*
> Currently support for microvacuum is implemented only for BTree index. But
> GiST index is so useful and widely used for user defined datatypes instead
> of btree. During index search it reads page by page. Every tuple on the
> page in buffer marked as "dead" if it doesn't visible for all transactions.
> Whenever before receiving next page we check "dead" items and mark current
> page as "has garbage"[1]. When the page gets full, all the killed items are
> removed by calling microvacuum[2].
Seems reasonable. Should be a pretty straightforward to implement.
> *Project Schedule *
>
> until May 31
>
> Solve architecture questions with help of community.
>
> 1 June – 30 June
>
> First, approximate implementation supporting microvacuum for GiST.
>
> I’ve got bachelor's degree in this month so I haven’t much time to work on
> project.
>
> 1 July – 31 July
>
> Implementation of supporting microvacuum for GiST and testing.
>
> 1 August -15 August
>
> Final refactoring, testing and committing.
GSoC should be treated as a full-time job, that's how much time you're
expected to dedicate to it. Having bachelor's degree exams in June would
be a serious problem. You'll need to discuss with the potential mentors
on how to make up for that time.
Other than that, the schedule seems fairly relaxed. In fact, this
project seems a bit too small for a GSoC project. I'd suggest coming up
with some additional GiST-related work that you could do, in addition to
the microvacuum thing. Otherwise I think there's a risk that you finish
the patch in May, and have nothing to do for the rest of the summer.
- Heikki