[
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)