{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"apache","name":"hudi","updatedAt":"2026-10-11T05:41:27.974Z","coveredSince":"2025-10-04T16:14:32.498Z","facts":{"owner":"apache","name":"hudi","description":"Upserts, Deletes And Incremental Processing on Big Data.","stars":6294,"forks":2523,"archived":false,"isFork":false,"license":"Apache-2.0","defaultBranch":"master","pushedAt":"2026-10-11T04:46:59Z","createdAt":"2016-12-14T15:53:41Z","topics":["hudi","apachehudi","datalake","bigdata","apachespark","incremental-processing","stream-processing","data-integration","apacheflink"],"languages":{"Java":39518523,"Scala":9092989,"Jupyter Notebook":5787124,"Python":381589,"ANTLR":338260,"Shell":322884,"JavaScript":73603,"Dockerfile":50666,"HTML":20684,"CSS":12709,"Go Template":5851,"Mustache":3826},"frameworks":["Apache Spark","JUnit","Spring","Spring Boot"],"commits90d":407,"releases365d":6,"lastReleaseAt":"2026-09-24T10:58:28Z","gettingStarted":{"contributing":false,"codeOfConduct":true,"issueTemplates":true,"devcontainer":false,"cla":"cla","channels":[{"kind":"slack","url":"https://join.slack.com/t/apache-hudi/shared_invite/zt-33fabmxb7-Q7QSUtNOHYCwUdYM8LbauA"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:41:27.974Z","outsidePulls":{"cohort":{"n":300,"merged":201,"closedUnmerged":35,"open":64,"mergeRate":0.8516949152542372,"openShare":0.21333333333333335,"evidence":{"merged":[19885,19882,19874,19873,19869,19861,19858,19856,19850,19849,19836,19830,19822,19814,19812,19803,19796,19794,19787,19785],"closedUnmerged":[19854,19840,19828,19804,19786,19769,19733,19696,19613,19588,19584,19580,19571,19378,19377,19376,19300,19291,19285,19247],"open":[19897,19872,19871,19868,19855,19853,19848,19847,19845,19839,19832,19811,19806,19802,19801,19791,19778,19726,19724,19720]}},"firstTimers":{"n":28,"merged":16,"closedUnmerged":6,"open":6,"mergeRate":0.7272727272727273,"openShare":0.21428571428571427,"evidence":{"merged":[19885,19882,19849,19836,19822,19796,19785,19784,19776,19761,19653,19646,19423,19383,19328,19075],"closedUnmerged":[19854,19733,19696,19580,19571,19377],"open":[19897,19872,19855,19853,19660,19657]}},"year":{"n":876,"merged":602,"closedUnmerged":122,"open":152,"mergeRate":0.8314917127071824,"openShare":0.1735159817351598,"evidence":{"merged":[19885,19882,19874,19873,19869,19861,19858,19856,19850,19849,19836,19830,19822,19814,19812,19803,19796,19794,19787,19785],"closedUnmerged":[19854,19840,19828,19804,19786,19769,19733,19696,19613,19588,19584,19580,19571,19378,19377,19376,19300,19291,19285,19247],"open":[19897,19872,19871,19868,19855,19853,19848,19847,19845,19839,19832,19811,19806,19802,19801,19791,19778,19726,19724,19720]}}},"pullFirstResponse":{"n":300,"answered":275,"waiting":25,"medianHours":1.4577777777777778,"p75Hours":25.4075,"within48h":0.7933333333333329,"within7d":0.8566666666666665,"curve":[{"hours":0.020833333333333332,"waiting":0.9966666666666667},{"hours":0.04027777777777778,"waiting":0.9766666666666668},{"hours":0.05527777777777778,"waiting":0.9566666666666668},{"hours":0.07277777777777777,"waiting":0.9400000000000001},{"hours":0.09444444444444444,"waiting":0.92},{"hours":0.11055555555555556,"waiting":0.9},{"hours":0.13027777777777777,"waiting":0.8800000000000001},{"hours":0.14333333333333334,"waiting":0.8600000000000001},{"hours":0.15833333333333333,"waiting":0.8433333333333336},{"hours":0.175,"waiting":0.8233333333333337},{"hours":0.18861111111111112,"waiting":0.8033333333333337},{"hours":0.20194444444444445,"waiting":0.7833333333333339},{"hours":0.21972222222222224,"waiting":0.7633333333333341},{"hours":0.2311111111111111,"waiting":0.7433333333333341},{"hours":0.2525,"waiting":0.7266666666666676},{"hours":0.2797222222222222,"waiting":0.7033333333333344},{"hours":0.2997222222222222,"waiting":0.6833333333333343},{"hours":0.34,"waiting":0.6633333333333346},{"hours":0.3561111111111111,"waiting":0.6433333333333346},{"hours":0.3894444444444444,"waiting":0.6266666666666679},{"hours":0.43083333333333335,"waiting":0.6066666666666679},{"hours":0.48138888888888887,"waiting":0.586666666666668},{"hours":0.6366666666666667,"waiting":0.5666666666666679},{"hours":0.7719444444444444,"waiting":0.5466666666666677},{"hours":0.8716666666666667,"waiting":0.5300000000000011},{"hours":1.1972222222222222,"waiting":0.5100000000000012},{"hours":1.6225,"waiting":0.49000000000000116},{"hours":2.0391666666666666,"waiting":0.47000000000000103},{"hours":3.0972222222222223,"waiting":0.45000000000000095},{"hours":4.257777777777778,"waiting":0.4333333333333342},{"hours":5.1433333333333335,"waiting":0.41333333333333405},{"hours":6.331944444444445,"waiting":0.393333333333334},{"hours":7.2125,"waiting":0.373333333333334},{"hours":9.471111111111112,"waiting":0.353333333333334},{"hours":10.472777777777777,"waiting":0.3366666666666672},{"hours":13.476666666666667,"waiting":0.3166666666666672},{"hours":15.321666666666667,"waiting":0.2966666666666672},{"hours":19.74138888888889,"waiting":0.2766666666666671},{"hours":23.205833333333334,"waiting":0.2566666666666671},{"hours":34.6225,"waiting":0.23666666666666705},{"hours":37.11,"waiting":0.2200000000000004},{"hours":60.02055555555555,"waiting":0.2000000000000004},{"hours":90.00916666666667,"waiting":0.18000000000000033},{"hours":112.16583333333334,"waiting":0.16000000000000025},{"hours":195.99555555555557,"waiting":0.14000000000000018},{"hours":306.50194444444446,"waiting":0.1233333333333335},{"hours":447.20472222222224,"waiting":0.10333333333333347},{"hours":1466.7044444444443,"waiting":0.08208000000000011}],"evidence":{"answered":[19897,19885,19882,19874,19873,19872,19871,19869,19868,19861,19858,19856,19855,19854,19853,19850,19849,19845,19840,19839],"waiting":[19848,19847,19828,19786,19724,19626,19566,19565,19508,19377,19323,19300,19230,19227,19175,19174,19152,19151,19136,19135]}},"timeToMerge":{"n":300,"merged":201,"medianHours":107.98,"evidence":[19885,19882,19874,19873,19869,19861,19858,19856,19850,19849,19836,19830,19822,19814,19812,19803,19796,19794,19787,19785]},"issueFirstResponse":{"n":322,"answered":68,"waiting":254,"medianHours":null,"p75Hours":null,"within48h":0.11180124223602461,"within7d":0.14285714285714268,"curve":[{"hours":0.055,"waiting":0.9968944099378882},{"hours":0.0636111111111111,"waiting":0.9937888198757765},{"hours":0.3211111111111111,"waiting":0.9875776397515528},{"hours":0.5211111111111111,"waiting":0.984472049689441},{"hours":0.9883333333333333,"waiting":0.9782608695652174},{"hours":0.9986111111111111,"waiting":0.9751552795031057},{"hours":1.3511111111111112,"waiting":0.968944099378882},{"hours":1.5083333333333333,"waiting":0.9658385093167703},{"hours":1.5238888888888888,"waiting":0.9627329192546585},{"hours":2.6144444444444446,"waiting":0.956521739130435},{"hours":2.8619444444444446,"waiting":0.9534161490683232},{"hours":3.846111111111111,"waiting":0.9472049689440997},{"hours":4.2491666666666665,"waiting":0.9440993788819879},{"hours":4.606388888888889,"waiting":0.9378881987577643},{"hours":5.564166666666667,"waiting":0.9347826086956524},{"hours":7.461388888888889,"waiting":0.9316770186335406},{"hours":8.843333333333334,"waiting":0.9254658385093171},{"hours":11.4275,"waiting":0.9223602484472052},{"hours":16.38888888888889,"waiting":0.9161490683229816},{"hours":17.523333333333333,"waiting":0.9130434782608698},{"hours":20.511944444444445,"waiting":0.9068322981366462},{"hours":20.556944444444444,"waiting":0.9037267080745344},{"hours":21.92388888888889,"waiting":0.9006211180124226},{"hours":27.951666666666668,"waiting":0.8944099378881989},{"hours":31.939722222222223,"waiting":0.8913043478260871},{"hours":48.14055555555556,"waiting":0.8850931677018635},{"hours":51.308055555555555,"waiting":0.8819875776397517},{"hours":67.79555555555555,"waiting":0.8788819875776399},{"hours":96.55638888888889,"waiting":0.8726708074534163},{"hours":114.67166666666667,"waiting":0.8695652173913045},{"hours":122.94972222222222,"waiting":0.8633540372670809},{"hours":123.04972222222223,"waiting":0.8602484472049692},{"hours":169.42277777777778,"waiting":0.8540372670807455},{"hours":201.60166666666666,"waiting":0.8509316770186336},{"hours":209.55694444444444,"waiting":0.8478260869565217},{"hours":345.41583333333335,"waiting":0.8416149068322982},{"hours":422.0163888888889,"waiting":0.8385093167701865},{"hours":425.1111111111111,"waiting":0.8322981366459629},{"hours":436.9216666666667,"waiting":0.8291925465838511},{"hours":499.2775,"waiting":0.8229813664596274},{"hours":499.2808333333333,"waiting":0.8198757763975156},{"hours":525.3813888888889,"waiting":0.8167701863354039},{"hours":558.9980555555555,"waiting":0.8105590062111803},{"hours":719.2347222222222,"waiting":0.8074534161490684},{"hours":1027.4977777777779,"waiting":0.8007884584459153},{"hours":1346.64,"waiting":0.7964831441531953},{"hours":1671.2927777777777,"waiting":0.7836366418281437},{"hours":2240.0158333333334,"waiting":0.7698886305680008}],"evidence":{"answered":[19902,19901,19883,19864,19862,19841,19829,19827,19823,19797,19793,19779,19774,19763,19729,19722,19715,19714,19708,19693],"waiting":[19899,19895,19894,19893,19887,19886,19881,19880,19879,19878,19870,19860,19857,19852,19846,19838,19833,19826,19825,19821]}},"starter":{"counts":{"available":0,"claimed":5,"in-progress":5,"stale":0},"helpWantedAvailable":0,"issues":[{"n":19841,"title":"Remove the duplicate generateProjectionSchema and timestamp-millis helpers","state":"in-progress","label":"beginner","createdAt":"2026-09-04T09:09:42Z","updatedAt":"2026-09-05T10:10:11Z"},{"n":19633,"title":"Spark procedure filter evaluator drops all rows for any array predicate (array values not wrapped as ArrayData)","state":"in-progress","label":"beginner","createdAt":"2026-08-14T09:01:38Z","updatedAt":"2026-09-05T10:10:50Z"},{"n":15724,"title":"Decouple hive from bundle test","state":"claimed","label":"beginner","createdAt":"2025-11-30T06:22:59Z","updatedAt":"2026-09-05T10:11:24Z"},{"n":15020,"title":"Expose Timeline Server Metrics","state":"claimed","label":"beginner","createdAt":"2025-11-30T04:42:50Z","updatedAt":"2025-12-12T00:09:19Z"},{"n":14983,"title":"Add support to generate updates in HoodieTestDataGenerator for TimestampBasedKeyGen","state":"claimed","label":"beginner","createdAt":"2025-11-30T04:39:28Z","updatedAt":"2026-03-11T04:27:13Z"},{"n":14753,"title":"Add more tests to TestCOWDataSource for TimestampbasedKeyGen","state":"in-progress","label":"beginner","createdAt":"2025-11-30T03:40:43Z","updatedAt":"2026-09-05T10:13:09Z"},{"n":14705,"title":"Pandas(python) integration w/ Apache Hudi","state":"stale","label":"help-wanted","createdAt":"2025-11-30T03:37:52Z","updatedAt":"2025-12-09T04:20:15Z"},{"n":14700,"title":"[UMBRELLA] Support schema inference for unstructured data","state":"stale","label":"help-wanted","createdAt":"2025-11-30T03:37:34Z","updatedAt":"2025-12-02T05:46:01Z"},{"n":14698,"title":"[UMBRELLA] Improve CLI features and usabilities","state":"stale","label":"help-wanted","createdAt":"2025-11-30T03:37:26Z","updatedAt":"2025-12-02T05:46:02Z"},{"n":14697,"title":"[UMBRELLA] Support Apache Calcite for writing/querying Hudi datasets","state":"stale","label":"help-wanted","createdAt":"2025-11-30T03:37:22Z","updatedAt":"2025-12-02T05:46:03Z"},{"n":14696,"title":"[UMBRELLA] Improve source ingestion support in DeltaStreamer","state":"claimed","label":"help-wanted","createdAt":"2025-11-30T03:37:18Z","updatedAt":"2025-12-12T01:54:37Z"},{"n":14547,"title":"Abstract/Refactor all transaction management logic into a set of classes ","state":"claimed","label":"help-wanted","createdAt":"2025-11-30T03:28:24Z","updatedAt":"2025-12-12T01:44:28Z"},{"n":14528,"title":"Replace variables/comments named \"data files\" to \"base file\"","state":"in-progress","label":"beginner","createdAt":"2025-11-30T03:27:16Z","updatedAt":"2026-09-18T11:03:52Z"},{"n":14505,"title":"Docker demo/integ-test stdout/stderr output only available on process exit","state":"claimed","label":"beginner","createdAt":"2025-11-30T03:25:54Z","updatedAt":"2025-12-10T18:26:57Z"},{"n":14430,"title":"Introduce a WriteContext abstraction to HoodieWriteClient #384","state":"claimed","label":"help-wanted","createdAt":"2025-11-30T03:21:20Z","updatedAt":"2025-12-12T01:39:23Z"},{"n":14425,"title":"Persist the HoodieIndex type in the hoodie.properties file #409","state":"in-progress","label":"beginner","createdAt":"2025-11-30T03:21:03Z","updatedAt":"2026-09-01T02:49:16Z"},{"n":14398,"title":"Upgrade dropwizard metrics to make use of SettableGauge","state":"claimed","label":"beginner","createdAt":"2025-11-30T03:19:26Z","updatedAt":"2026-09-26T05:15:31Z"}]},"responseWindow":{"hours":[0,0,3,8,9,16,199,11,22,28,25,7,14,17,4,10,7,9,6,3,1,3,1,3,0,2,7,11,7,11,5,35,12,40,27,17,8,12,0,13,7,0,10,6,7,11,0,0,1,14,8,4,13,20,21,12,20,35,22,15,5,4,9,4,3,4,2,0,0,4,1,2,0,3,6,22,63,227,27,15,21,19,37,6,15,14,3,0,2,0,5,1,1,1,0,3,0,2,8,7,29,31,123,20,46,31,43,32,10,28,20,17,7,6,1,2,1,1,7,0,1,7,2,1,1,3,3,8,11,10,9,0,5,14,0,2,0,11,3,14,1,8,0,0,0,0,0,0,0,0,0,5,12,6,4,5,3,4,8,2,1,0,0,0,0,0,0,3],"people":16,"replies":2007},"activeMaintainers":19},"series":[{"week":"2025-10-12","opened":3,"merged":0,"answered7d":2,"activity":8},{"week":"2025-10-19","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2025-10-26","opened":1,"merged":1,"answered7d":1,"activity":3},{"week":"2025-11-02","opened":2,"merged":0,"answered7d":2,"activity":6},{"week":"2025-11-09","opened":5,"merged":3,"answered7d":4,"activity":20},{"week":"2025-11-16","opened":6,"merged":3,"answered7d":4,"activity":23},{"week":"2025-11-23","opened":23,"merged":17,"answered7d":18,"activity":69},{"week":"2025-11-30","opened":25,"merged":12,"answered7d":15,"activity":57},{"week":"2025-12-07","opened":28,"merged":18,"answered7d":20,"activity":99},{"week":"2025-12-14","opened":20,"merged":16,"answered7d":18,"activity":73},{"week":"2025-12-21","opened":24,"merged":15,"answered7d":17,"activity":74},{"week":"2025-12-28","opened":14,"merged":12,"answered7d":11,"activity":58},{"week":"2026-01-04","opened":14,"merged":11,"answered7d":10,"activity":65},{"week":"2026-01-11","opened":29,"merged":25,"answered7d":15,"activity":118},{"week":"2026-01-18","opened":17,"merged":13,"answered7d":10,"activity":62},{"week":"2026-01-25","opened":18,"merged":12,"answered7d":9,"activity":91},{"week":"2026-02-01","opened":15,"merged":10,"answered7d":7,"activity":88},{"week":"2026-02-08","opened":32,"merged":23,"answered7d":21,"activity":82},{"week":"2026-02-15","opened":22,"merged":16,"answered7d":15,"activity":42},{"week":"2026-02-22","opened":16,"merged":10,"answered7d":13,"activity":51},{"week":"2026-03-01","opened":11,"merged":8,"answered7d":9,"activity":35},{"week":"2026-03-08","opened":10,"merged":8,"answered7d":8,"activity":44},{"week":"2026-03-15","opened":16,"merged":10,"answered7d":11,"activity":73},{"week":"2026-03-22","opened":19,"merged":11,"answered7d":10,"activity":60},{"week":"2026-03-29","opened":24,"merged":17,"answered7d":20,"activity":88},{"week":"2026-04-05","opened":6,"merged":6,"answered7d":6,"activity":51},{"week":"2026-04-12","opened":4,"merged":2,"answered7d":4,"activity":26},{"week":"2026-04-19","opened":21,"merged":17,"answered7d":21,"activity":57},{"week":"2026-04-26","opened":26,"merged":11,"answered7d":19,"activity":83},{"week":"2026-05-03","opened":10,"merged":8,"answered7d":10,"activity":32},{"week":"2026-05-10","opened":18,"merged":12,"answered7d":16,"activity":56},{"week":"2026-05-17","opened":32,"merged":24,"answered7d":30,"activity":92},{"week":"2026-05-24","opened":23,"merged":19,"answered7d":23,"activity":62},{"week":"2026-05-31","opened":18,"merged":13,"answered7d":16,"activity":44},{"week":"2026-06-07","opened":26,"merged":20,"answered7d":19,"activity":75},{"week":"2026-06-14","opened":20,"merged":14,"answered7d":20,"activity":51},{"week":"2026-06-21","opened":18,"merged":9,"answered7d":16,"activity":42},{"week":"2026-06-28","opened":51,"merged":37,"answered7d":40,"activity":98},{"week":"2026-07-05","opened":28,"merged":20,"answered7d":14,"activity":116},{"week":"2026-07-12","opened":16,"merged":8,"answered7d":13,"activity":96},{"week":"2026-07-19","opened":25,"merged":21,"answered7d":23,"activity":130},{"week":"2026-07-26","opened":28,"merged":27,"answered7d":28,"activity":193},{"week":"2026-08-02","opened":23,"merged":13,"answered7d":19,"activity":130},{"week":"2026-08-09","opened":12,"merged":6,"answered7d":11,"activity":103},{"week":"2026-08-16","opened":17,"merged":12,"answered7d":17,"activity":125},{"week":"2026-08-23","opened":23,"merged":14,"answered7d":21,"activity":223},{"week":"2026-08-30","opened":22,"merged":10,"answered7d":18,"activity":122},{"week":"2026-09-06","opened":17,"merged":9,"answered7d":17,"activity":189},{"week":"2026-09-13","opened":24,"merged":14,"answered7d":21,"activity":79},{"week":"2026-09-20","opened":22,"merged":9,"answered7d":13,"activity":69},{"week":"2026-09-27","opened":46,"merged":14,"answered7d":26,"activity":111},{"week":"2026-10-04","opened":36,"merged":4,"answered7d":18,"activity":84}],"trend":{"flag":"slowed-down","recentMedianHours":32.75055555555556,"previousMedianHours":0.4502777777777778,"recentN":128,"previousN":79,"openedThisWeek":36,"openedLastWeek":46},"programs":[{"program":"gsoc","slug":"apache-software-foundation","name":"Apache Software Foundation","years":[2024,2025,2026]}]}