I have a table where i store the key value and hashrow value for all other columns. This will be used further to compare the source and process incremental data based on hashrow value.
When there is a version upgrade from 14.10 to 15.10. The hashrow value is different for same input. So all the records are considered as new / update records.
Is there any way to fix the problem in 15.10. Why the hashrow is generating different value for same record set. Daily the usual process will be less than 5 million after the upgrade we ended up in processing all the records from source since none of the hashvalue matches with 14 and 15.
The default Teradata row hash function potentially differs from one (major) release to the next. When you do database software "upgrade in place" then the old hash function will continue to be used. But if you "upgrade" by migrating data onto a newly initialized platform, the new row hash function will be used. The particular hash function in effect can be displayed in dbscontrol.
Best solution might be to install some UDF hash function under your control and switch to that.
But if you are going to continue using HASHROW, then whenever you migrate data to a new platform, you should include a process to recompute the HASHROW values stored in any user table columns.
Would strongly support Freds suggestion to use one of the proven hash functions - additional benefit you might be able to calculate the hash values at early stages also on different systems or ETL server.