oracle coherence community - 12.1.3*hidden*gems* · 2021. 1. 14. · copyright©*2014...

16

Upload: others

Post on 07-May-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis
Page 2: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

12.1.3  Hidden  Gems  

Harvey  Raja  ConsulFng  Member  Technical  Staff  Fusion  Middleware,  Coherence  Month  07,  2014  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted  

Page 3: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Safe  Harbor  Statement  The  following  is  intended  to  outline  our  general  product  direcFon.  It  is  intended  for  informaFon  purposes  only,  and  may  not  be  incorporated  into  any  contract.  It  is  not  a  commitment  to  deliver  any  material,  code,  or  funcFonality,  and  should  not  be  relied  upon  in  making  purchasing  decisions.  The  development,  release,  and  Fming  of  any  features  or  funcFonality  described  for  Oracle’s  products  remains  at  the  sole  discreFon  of  Oracle.  

Note:  The  speaker  notes  for  this  slide  include  instrucFons  for  when  to  use  Safe  Harbor  Statement  slides.  

Tip!  Remember  to  remove  this  text  box.  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   3  

Page 4: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Program  Agenda  

DeserializaFon  Accelerator  

Asynchronous  Index  Build  

Guardian  stats  

Project  Shrapnel  

Asynchronous  EntryProcessors  

Pop  the  hood…  

1  

2  

3  

4  

5  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   4  

6  

Page 5: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

DeserializaFon  Accelerator  

• Anybody  want  ObjectLocalBackingMap?  

• Hold  deserialized  value  in  MapIndex  

• ReflecFonExtractor  queries  (BinaryEntry.getValue)  will  use  deserialized  value  

• OpFmized  MapIndex  implementaFon  Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   5  

Page 6: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Asynchronous  Index  Maintenance  

• ParFFon  Transfer  blocks  access  to  the  parFFon  for  the  window  of  transfer  

• Pre  12.1.3  this  included  updated  MapIndex  with  the  newly  owned  entries  

•  12.1.3  MapIndex  is  updated  asynchronously  by  a  thread  in  the  pool  

• Query  request  waits  unFl  index  update  job  completes  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   6  

Page 7: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   7  

C

NamedCache.get(K)

Build Index

NamedCache.get(K)

NamedCache.get(K)

Synchronous  Index  Update  

Page 8: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   8  

Asynchronous  Index  Update  

C

NamedCache.get(K)

Build Index

NamedCache.get(K)

NamedCache.get(K)

Page 9: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Guardian  Improvements  • Public  Guardian    

 •  JMX  StaFsFcs:  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   9  

Page 10: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Shrapnel  • ParFalResultAggregator  – Single  invocaFon  of  aggregateParFalResults  per  member  

• NamedCache.putAll/invokeAll  -­‐>  CacheStore.storeAll  

• Deadlock  avoidance  – Always  were  able  to  detect  – Tried  to  prevent  – Now  avoid  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   10  

•  Service  Quiesce  

Page 11: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

DeserializaFon  Accelerator  

Asynchronous  Index  Build  

Guardian  stats  

Project  Shrapnel  

Asynchronous  EntryProcessors  

Pop  the  hood…  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   11  

5  

1  

3  

4  

6  

2  

Page 12: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Entry  Processors  

• Avoids  lock(K),  get(K),  mutate(V),  put(K,  V),  unlock(K)  

•  Executed  on  the  member  that  owns  K  

• Possible  to  be  invoked  with  a  CollecFon<K>  or  a  Filter  (Predicate)  

• Allow  features  such  as  ParFFon  Lite  TransacFons  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   12  

Page 13: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Entry  Processors  

• Are  the  steps  in  a  processing  pipeline  parallelizable?  

•  If  so  the  answer  is  simple:  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   13  

A B EP C D

A

B

EP

C

D

Page 14: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  

Entry  Processors  

• As  of  12.1.3  OOTB  we  provide  an  AsynchronousProcessor  

• Wrapper  processor  

• AsynchronousProcessor  extends  AsyncAgent  implements  Future  

• Can  specify    – Unit  of  Order                                          {default:  Thread.getId()}  – AutomaFc  Flow  Control    {default:  true}  

Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   14  

Page 15: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis

Copyright  ©  2014,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Oracle  ConfidenFal  –  Internal/Restricted/Highly  Restricted   15  

Page 16: Oracle Coherence Community - 12.1.3*Hidden*Gems* · 2021. 1. 14. · Copyright©*2014 ,*Oracle*and/or*its*affiliates.*All*rights*reserved.**|* Safe*Harbor*Statement The*following*is*intended*to*outline*our*general*productdirecFon.*Itis