KamoCRM

Mwanachama rights applied anaandika tofauti tu, na anasoma majukumu kwa wingi

Performancekamo-shared-library
Shipped
23 Septemba 2026, 14:39 UTC
Author
Kamo
Commit
c4924af

Vipengele viwili vinavyohusiana na Huduma ya MemberRightsApplied, vyote katika faili moja: [TD="width: 456"] [FONT=&](2)[/FONT][FONT=&]Bila kuathiri masharti ya kifungu kidogo (1) bila masharti ilifutwa na kurejeshwa kila moja ya safu za haki za mwanachama, kila wakati Walikuwa waoga. Huduma ya MwanachamaRightsBackfill Service inaita njia ya kila shirika Kila kitu kinakwenda sawa, na kila kitu kinakwenda sawa. Uunganisho wa hali ya juu unarudisha seti sawa. Kiwango cha uzalishaji pg stat statements: ~ 12.7M INSERTs dhidi ya meza ~ 30K-row - takriban 300 full-table kuandika upya, moja kwa boot, karibu Kila mmoja aandike upya kile ambacho tayari kilikuwapo. Njia zote mbili sasa zinasambaza seti mpya iliyowekwa dhidi ya kile mwanachama rights applied tayari anashikilia (moja ya wingi kusoma kwa chunk nzima) na wazi tu + kuandika wanachama ambao haki zao kweli tofauti. Hakuna-op boot sasa gharama moja kusoma na sifuri kuandika. 2.Mahesabu ya MemberRights (msingi wa wote wawili njia ya juu na kusoma-tu HesabuMemberRights SessionRefreshController kura juu ya kila kikao refresh) walked mwanachama.getRoles(), ******** majukumu ya kazi ya kichwa () /getRights() na wanachama.getRights () kama makusanyo ya wavivu - pamoja na mzigo mwingine wa wavivu kwa jukumu tofauti, kwa ajili ya haki za wafanyakazi hao. wasio wanachama. Maeneo sita ya hifadhi ya hiari (MemberRoleRepository, Idara yaRoleRepository, IdaraRightRepository, JobTitleRoleRepository, JobTitleRightRepository, Mjumbe wa Haki - ya kwanza na ya mwisho tayari kuwepo) kuchukua nafasi ya mizigo wavivu na idadi fasta, idadi ndogo ya wingi Maswali, kila mmoja akiwa na haki zake mwenyewe. Kwa bahati mbaya sio @EntityGraph iliyotokana na Mwanachama / TeamMember: wote ni @Inheritance (JOINED), na graph ya chombo ambacho huchota zaidi vyama mbali chombo JOINED ni sura halisi kwamba alichukua / inaongoza chini katika uzalishaji juu ya Hibernate 6.2.13 (kukosa kuingia kwa sehemu kwa meza ya mizizi - angalia LeadAssigneeRef). Kila mpya Hifadhi badala yake inatokana na chombo cha CHILD (hakuna ambayo hubeba @Inheritance) na kuchuja kwa hisani ya RaiaMwema Eneo la EntityManager na @ EndeleaContext lilijaribiwa kwanza na kurejeshwa: inachukuliwa na Spring ya JPA-kufahamu baada ya usindikaji wakati wowote spring-orm ni juu ya classpath, hivyo manually-newd Huduma katika muktadha bila bean ya kuingizwa (SignReadRetry) Uchunguzi wa Spring wa mikono muktadha, ambayo mazoezi @RetryOnDbConflict kupitia wakala halisi wa AOP) alishindwa kuunda moja kwa moja. Mashamba ya hiari ya kurejesha uharibifu kwa njia ile ile iliyotumikaModelResolver tayari ilifanya: @Autowired (inahitajika = uongo) huwaacha bila bean ya aina hiyo, na wasaidizi sita huanguka. Kurudi kwenye njia ya awali ya mzigo mzito, isiyobadilika, katika kila jaribio lililopo. SessionRefreshController anaendelea kompyuta kuishi (si kutoka kwa snapshot ya kuendelea) - kwamba mwisho wa mwisho Hoja nzima ni "kile kilicho kweli sasa hivi", ambayo sio wazi kila wakati kilichoendelea.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing