Difference between revisions of "Issues:MatchUp Object"

From Melissa Data Wiki
Jump to navigation Jump to search
(Created page with "{{CustomTOC}} MatchUp Object known issues. ==MatchUp API== ===Version 3.14=== ''Released February 2007'' *When a match group contains records because of one blank (short) ma...")
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[MatchUp Object|← MatchUp Object]]
{{CustomTOC}}
{{CustomTOC}}
MatchUp Object known issues.


==MatchUp API==
==Error Executing Linux Scripts==
===Version 3.14===
''Build 5118''
''Released February 2007''


*When a match group contains records because of one blank (short) matching, there is a chance that DTReadRecord may return a Dupe Group of 0 and a count of 0 for at least one of those records, even though its error code signifies it is matched as part of the group.
When running some of the linux scripts, you may receive the error:
:This will be fixed in the next version


;Unknown or Negative return codes.
<code>bad interpreter: No such file or directory</code>
:There is a problem with the high order bit (32) which is used in some languages and data types as a sign bit. Because the high order bits 32 - 17, which return the error codes are transposed, i.e.: bit 32 was combo 1, 31 was combo 2, etc - you get unknown or negative numbers returned when records matched using combination 1.


:;Status:
As we migrate our ISO building process to a newer automated process, some of the files are still being compiled with ‘windows’ end of line formatting.
::This will be fixed in the next build. . There is an update for the API in the works, and we are looking into addressing this issue.


:;Workaround:
;Resolution
::Make sure to use combinations 16, 15, 14, etc (instead of 1, 2, 3, etc) in your code. Make sure to convert the signed integer into an unsigned after it has been read:
<code>Run … $ dos2unix <scriptname></code>
<blockquote>
<pre>If (Error<0)


Error=Error+4294967296</pre>
</blockquote>


::In case you’re wondering, 4294967296 is (2^32), which converts the number to it’s “2’s complement”.
==Matchcode Edits Not Saving==
When using the Matchcode Editor, when selecting [OK] after editing a matchcode and then reopening the matchcode editor, the changes have not been saved.


;Resolution
Check the location of your Matchcode data files. This is usually C:\ProgramData/Melissa DATA\MatchUP unless you have overridden the installer and or your code. Right Click the MatchUp folder and give ‘Full Control’ permissions to the respective user group.


;Function Declarations incorrectly defined as DtApi.
:The following function Declarations should read “Dt3Api”, not “DtApi” as below and in Visual Basic standard module DtApi.bas.
:Declare Sub BDTClose Lib "DtApi" (ByVal hDeduper As Long)
:Declare Sub DbgDTClose Lib "DtApi" (ByVal hDeduper As Long)


:;Status:
==.NET Wrapper Namespace==
::This will be fixed in the next release.
''Build 2628''


:;Workaround:
The namespace in the new mdMatchUp.cs classes is 'namespace MDClasses'. The previous wrapper namespace is 'namespace MelissaData' thus breaking backwards compatibility. Updating to the new wrapper will require you do change the namespace and recompile. We will rollback the namespace name in the next build.
::This could be fixed by simply changing DtApi to Dt3Api
 
 
==Fuzzy Algorithms: Accurate Near , Frequency, and other Levenshtein based algorithms==
Using the Accurate Near fuzzy algorithm on one or more components, running the same data set repeatedly could sporadically return different dupe counts.
 
This may not be apparent for a single run because the fuzzy algorithms do not return a percent difference for used algorithms, only returning a status whether the algorithm found a match between records.
 
We identified a new compiler issue and have also reviewed our other fuzzy algorithms which use similar computations and compiler variable initialization.
 
If you use any of the Fuzzy algorithms, please contact us and we will provide you with the available patch.
 
 
==Large KeyFile Size effect on Memory resources==
By default, MatchUp object allocates a large SetUserInfo, the unique identifier attached to built match key - 1024 bytes.
 
See [[MatchUp Object:Best Practices|MatchUp Object Best Practices]] for override instructions.
 
This is for the ReadWrite Interface only.
 
 
==Fuzzy: Legacy Matchcodes==
Legacy Matchcodes, imported from previous versions, allowed a Fuzzy: Near setting of '0'. This is incompatible with the current version and can cause an error. Using the interface to edit the matchcode by changing the Distance to 1 will resolve the problem
 
 
==Fuzzy: First component with set distance missing dupes==
Setting a distance for a first component forces the component to use the Intersecting deduper. This may result in records within a set distance to be put in different clusters, and therefore may never get compared. <br>
Workaround: Use an exact algorithm in the first component and keep a distance component, if required further down the component list. This will prevent missed dupes (and give you better speed benchmarks. <br>
Resolution: This may require an advanced change to the deduper. Development is aware of the issue and is exploring options.




[[Category:Issues]]
[[Category:Issues]]
[[Category:MatchUp Object]]
[[Category:MatchUp Object]]

Revision as of 01:25, 23 December 2021

← MatchUp Object


Error Executing Linux Scripts

Build 5118

When running some of the linux scripts, you may receive the error:

bad interpreter: No such file or directory

As we migrate our ISO building process to a newer automated process, some of the files are still being compiled with ‘windows’ end of line formatting.

Resolution

Run … $ dos2unix <scriptname>


Matchcode Edits Not Saving

When using the Matchcode Editor, when selecting [OK] after editing a matchcode and then reopening the matchcode editor, the changes have not been saved.

Resolution

Check the location of your Matchcode data files. This is usually C:\ProgramData/Melissa DATA\MatchUP unless you have overridden the installer and or your code. Right Click the MatchUp folder and give ‘Full Control’ permissions to the respective user group.


.NET Wrapper Namespace

Build 2628

The namespace in the new mdMatchUp.cs classes is 'namespace MDClasses'. The previous wrapper namespace is 'namespace MelissaData' thus breaking backwards compatibility. Updating to the new wrapper will require you do change the namespace and recompile. We will rollback the namespace name in the next build.


Fuzzy Algorithms: Accurate Near , Frequency, and other Levenshtein based algorithms

Using the Accurate Near fuzzy algorithm on one or more components, running the same data set repeatedly could sporadically return different dupe counts.

This may not be apparent for a single run because the fuzzy algorithms do not return a percent difference for used algorithms, only returning a status whether the algorithm found a match between records.

We identified a new compiler issue and have also reviewed our other fuzzy algorithms which use similar computations and compiler variable initialization.

If you use any of the Fuzzy algorithms, please contact us and we will provide you with the available patch.


Large KeyFile Size effect on Memory resources

By default, MatchUp object allocates a large SetUserInfo, the unique identifier attached to built match key - 1024 bytes.

See MatchUp Object Best Practices for override instructions.

This is for the ReadWrite Interface only.


Fuzzy: Legacy Matchcodes

Legacy Matchcodes, imported from previous versions, allowed a Fuzzy: Near setting of '0'. This is incompatible with the current version and can cause an error. Using the interface to edit the matchcode by changing the Distance to 1 will resolve the problem


Fuzzy: First component with set distance missing dupes

Setting a distance for a first component forces the component to use the Intersecting deduper. This may result in records within a set distance to be put in different clusters, and therefore may never get compared.
Workaround: Use an exact algorithm in the first component and keep a distance component, if required further down the component list. This will prevent missed dupes (and give you better speed benchmarks.
Resolution: This may require an advanced change to the deduper. Development is aware of the issue and is exploring options.