add OnDuplicateKey method
Merge branch 'release/v2.1.1' into develop