Release Dec 2023 - v7.2.0
Items released as part of LBMS V7.2.0
With 7.2.0 release considerable changes were done to key features (Member processing and txn processing) so load test was carried out to check the performance (More insights can be found in attached performance benchmark document)
CPD file upload | Members | Time to process |
---|---|---|
1M | 6 min |

Add/Modify Members API
- Users can now add or update members using the Add/Update members API.
- Was able to achieve 134 TPS (insert 134 members per second) with single pod without any autoscale and load
- condition being 50 concurrent users for 5 min duration resulting in avg response time of 365 millisecond.
- Members API has Validation for data type mismatch, unique and mandatory constraints.
- Data level validation at attribute level needs to implemented with proper error codes
- Metrics related to no of records successfully processed/rejected needs to be shown on UI
- Audit log to be implemented for members added via API
Add Transaction API
- Users can now add transactions using API. Before only bulk upload using CSV file was supported
- Able to achieve 70 TPS (insert 70 txn per second) with single pod without any auto-scale and load condition being 50 concurrent users for 5 min duration.
- Transaction API has Validation for data type mismatch, unique and mandatory constraints. Data level validation at attribute level needs to be implemented with proper error codes
- Batch processing is enabled with "computation start" job API. This can be configured for different batch sizes and different time intervals.
- The min time interval for "computation start" job is 5 min and for "points updation" job is 2 min.
- Only Computation job details are shown on UI. Metrics related to no of records successfully processed/rejected also needs to be shown for the user to know total records inserted via txn API
Credit/Debit Transaction Type to be Fixed
- Credit and Debit points via rule engine by defining transaction_type in your attribute parameters.
- Credit points by defining "DR" in your attribute parameters
- Debit points by defining "CR" in your attribute parameters
If any other value is provided for transaction_type attribute then the record would not be processed for computation.
Dashboard for LBMS
- The dashboard page aims to provide a quick overview of the loyalty program's with 3 kinds of metrics (Monthly, Yearly and Current State)
- Data is cached in redis for faster retrieval and gets recached every 5 hrs from the DB (This interval can be configured as per the business use case)
- For yearly metrics, data is aggregated from last month. For monthly metrics, data is aggregated from yesterday to the last 30 days.
- Dashboard Cron is run once per day (Mostly in the midnight) which will compute the data and load the dashboard and redis
Allow Extension of Member Attributes
- Now users can extend the member attributes beyond the limited set. They can create their own attributes by defining data type and constraints (mandatory/Unique).
- With this member extension feature, now the member activation process is changed. Users can directly upload members and set their status to active unlike previously where all the new members uploaded would be inactive and had to be activated.
- Client facing document needs to be published which gives information on the legal values that are accepted for different attributes (ex: for gender the values accepted are M/F. Action attribute takes values from 1-5). Also min/max and type of values accepted for each attribute need to be published.
- No data sanity check done for any of the columns (like regex validation for email, mobile, gender not present)
Based on the data type, validation would be done. Ex: user cannot pass string value for a column specified as int or cannot pass duplicate value for a column specified with unique constraint
Improvements work
Data Export in Members
- User can now export the data of member, transactions and communication
- Data would get deleted based on the report setting
Currency Listing in Program Config [Ancol]
- Now program can be created with 157 different currencies
Full Member Activity
- UI enhanced for "Audit log" with addition of "status" of the record and "file name" used to upload the record.
- Member activity section is introduced which shows details related to activity of members on the marketplace. This is tested by calling the InsertMemberActivity API as the marketplace is not configured in the QA environment.
- Validation has to be implemented for the InsertMemberActivity API at the request level as users can pass irrelevant information and still get 200 responses.
LBMS release artifacts (from v7.0.0): https://docs.google.com/spreadsheets/d/1MPXqsk8bTL8IZqNRtBRmiliQpNwZOpW7mzsfCUNHsII/edit#gid=308805394
LBMS Functional/Module/Production checklist test cases (Request access if unable to view): https://docs.google.com/spreadsheets/d/1p_zkRfTEHehl9LOJn6gWbD1bfzSQUwnFSboZEyjIQkQ/edit?pli=1#gid=743106138
Performance Test execution report (overall report and not current sprint specific): https://docs.google.com/spreadsheets/d/1KKtxARlXxnWyv10FtMc1WWoegW8xM5Z8/edit#gid=1712579782
Updated 6 months ago