[ 
https://issues.apache.org/jira/browse/AVRO-3603?focusedWorklogId=800196&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-800196
 ]

ASF GitHub Bot logged work on AVRO-3603:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Aug/22 07:06
            Start Date: 12/Aug/22 07:06
    Worklog Time Spent: 10m 
      Work Description: KhrystynaPopadyuk commented on PR #1819:
URL: https://github.com/apache/avro/pull/1819#issuecomment-1212797034

   Hi @KalleOlaviNiemitalo  and @martin-g ,
   
   Thank you for review and feedback.
   
   I believe that at the end of day such refactoring is important and would be 
beneficial for both contributors (provide easier maintenance and extensibility) 
and end users (make it flexible, allow inject custom logic and override default 
behavior).
   There is no goal to change serialization and deserialization. All changes 
are around reflection.
   
   From your comments I understand that there are two main concerns: breaking 
changes and new dependency.
   
   I agree with @KalleOlaviNiemitalo that we can easy resolve new dependency 
issue - do not add DI, create new project or leave it with end user.
   
   About breaking changes. After second thought it looks like there is way to 
do refactoring without introducing breaking changes. The example and final 
state can be reviewed at https://github.com/apache/avro/pull/1823. As you can 
see in case if there is no breaking changes there are much more updates, that 
PR is massive.
   
   I do not think that it is safe to deliver such massive PR. Also it is 
difficult to review them. Likely we can break down it to small pieces, 
implement, review and deliver it one by one. First such update are created and 
ready for review: https://github.com/apache/avro/pull/1824. 
   
   Thanks one more time for your time.
   Khrystyna
   
   
   
   
   




Issue Time Tracking
-------------------

    Worklog Id:     (was: 800196)
    Time Spent: 2h 20m  (was: 2h 10m)

> .NET/#C: Refactor ReflectReader/Writer: rename and refactor caches, add DI
> --------------------------------------------------------------------------
>
>                 Key: AVRO-3603
>                 URL: https://issues.apache.org/jira/browse/AVRO-3603
>             Project: Apache Avro
>          Issue Type: Improvement
>            Reporter: Khrystyna Popadyuk
>            Assignee: Khrystyna Popadyuk
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Current ReflectReader/Writer use a lot of static entities (classes, methods, 
> fields). It is good to refactor them with interfaces and DI approach.
> If do such update at once it requires massive changes and can we difficult to 
> review and test.
> This story is created as first step for such refactoring. It will include:
>  - group classes by folders
>  - add DI
>  - rename and refactor ClassCash and EnumCache (avoid method refactoring in 
> scope of this story)
> This story do not update method implementation.
> This is breaking changes.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to