on 2019 Jul 25 6:55 PM
Hello,
we had an own attribute CronJob#exportLevel
. Since it was not needed anymore, we removed it from items.xml
The problem is, that we get an Exception on one of our systems when running a Cronjob now (see the attached file exception.txt to see the full stack trace):
INFO | jvm 1 | main | 2019/07/25 14:48:53.892 | ERROR [TaskExecutor-master-8066-Task [8800222020534]] [PropertyJDBC] error reading property field 'exportLevel'/'p_exportlevel' of item '8800287359477'/'8800287359477' (info was [exportLevel,p_exportlevel,class de.hybris.platform.util.ItemPropertyValue] )
INFO | jvm 1 | main | 2019/07/25 14:48:53.892 | stack:
INFO | jvm 1 | main | 2019/07/25 14:48:53.892 | ERROR [TaskExecutor-master-8066-Task [8800222020534]] [DefaultTaskService] Failed to execute task 8800222020534(hjmpTS:0).
INFO | jvm 1 | main | 2019/07/25 14:48:53.892 | de.hybris.platform.servicelayer.exceptions.SystemException: de.hybris.platform.persistence.hjmp.HJMPException: java.sql.SQLException: Invalid column name
INFO | jvm 1 | main | 2019/07/25 14:48:53.892 |
So we thought we should remove the corresponding AttributeDescriptorin order to solve the problem. But
SELECT * FROM attributedescriptors WHERE lower(QualifierInternal) ='exportlevel'
returns an empty result. So the attribute does not exist, but is still defined in some hybris table... Which tables could we also check to find the attribute declaration?
In the exception, de.hybris.platform.cache.AbstractCacheUnit.get(AbstractCacheUnit.java:180) is called. So maybe we should empty some hybris cache to fix the problem? But resetting the HAC > Monitoring > Cache did not help. Do you have some idea what can we also check to understand the problem?
Thanks in advance!
Sven
Hi
Please go through the link mentioned below for more information for Proper way to remove columns :
You mentioned you have attribute CronJob#exportLevel so you know in which tables(LFullExportCronJob) you will search for. or that is not correct information. Yes table is required to search for attribute and remove it. Basically issue is that your attribute is deleted from items.xml but still persist in DB.
Note : I hope after removing attribute from items.xml you have done blank system update.
Try below code for removing :
REMOVE AttributeDescriptor;qualifier[unique=true];enclosingType(code)[unique=true]
; exportLevel; LFullExportCronJob
Clean All Orphaned Types
1.Open the hybris Administration Console.
2.Go to the Maintenance tab and select Cleanup option.
3.The Cleanup page in the Type system tab displays.
4.Ensure both check boxes are selected and click the Clear all orphaned types button.
5.Orphaned types are removed
Please let me know if this helps you or you need more details or way to help you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did it helps? Please let me know if not
"cleanup" via HAC only solved the issue for the node where the cleanup was executed.
In our case I had to do a system-update via HAC with just option "update running system" enabled. This prevented having to restart all 5 cluster nodes in order for the drop to take effect.
Just for reference: Before system-update we also got this JDBC error as mentioned in this question:
2020-05-15 09:52:42,948 ERROR hybrisHTTP25 [PropertyJDBC] - error reading property field 'xxxxxxx'/'p_xxxxxxx' of item '8796683010092'/'8796683010092' (info was [xxxxxxx,p_xxxxxxx,class java.lang.Double] ) <br>
After system-update the error was gone (so obviously the relevant cache - probably the EJBPropertyRowCache in PropertyJDBC class) was cleared and so we didn't have to restart the server.
Hi rohit31.raj92
when i'm running following impex, it is throwing me an error:
Impex:
REMOVE AttributeDescriptor;qualifier[unique=true];enclosingType(code)[unique=true]
; returnRequestPOS; RTOEntry
Error:
REMOVE AttributeDescriptor;qualifier[unique=true];enclosingType(code)[unique=true]
,,,,could not remove item 8797614800983 due to attribute descriptor RTOEntry.returnRequestPOS:java.lang.Integer is not removable.;returnRequestPOS;RTOEntry
I have tried all possible way out(deleted from backoffice, deleted direct from the Database), but I'm still getting error whenever I try to create RTOEntry.
Please help me out.
Thanks in advance!
User | Count |
---|---|
10 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.