+1 for cleanup of the codebase

On 2021/04/12 16:25:42, Nick Vatamaniuc <vatam...@apache.org> wrote: 
> Hi all,
> 
> Currently we have a bunch of 3.x applications in the main branch which
> are not functional. Some even start supervisors and expose HTTP
> endpoints, like _reshard (mem3). Initially the idea was to keep those
> applications there to make it easy to merge fixes back and forth, but
> I wonder if it is time to clean them up.
> 
> I gave this a try locally and got it to where we pass `make check`.
> Here is what it looks like:
> 
>  * mem3, rexi, ken, smoosh, ddoc_cache, dreyfus are pretty easy to remove.
> 
>  * couch_mrview and couch_index : a bit trickier as those are called
> from couch_views for some utility functions. In some cases there is
> some duplicated code, for example we have two ddoc_to_mrst copies with
> one a one line difference:
> https://github.com/apache/couchdb/blob/main/src/couch_mrview/src/couch_mrview_util.erl#L142-L194
> vs 
> https://github.com/apache/couchdb/blob/main/src/couch_views/src/couch_views_util.erl#L31-L84.
> I managed to consolidate that into couch_views and remove couch_mrview
> and couch_index
> 
>  * couch app : Half of the modules here can be removed, btree,
> couch_file, most of the couch_server functionality, couch_compress
> along with snappy. But couch_server is still used in many parts of the
> code to get the couch version, as the backend of the _uuid endpoint
> and also for hashing passwords. I have stripped it down to do just
> those 3 things.
> 
>  * Some applications we want to have in main, but the way they are
> implemented currently rely completely or mostly on 3.x code: purge
> logic, couch_peruser, global_changes, setup. I am thinking it may be
> better to remove them from main as we'll have them on the 3.x branch
> they'll be recent (working) there. When we're ready to fix them up, we
> can copy that code from there to the main branch.
> 
> What does everyone think?
> 
> Thanks,
> -Nick
> 

Reply via email to